resum.: i denne tutorial lærer du, hvordan du bruger Oracle RANK()
funktion til at beregne rangeringen af rækker inden for et sæt rækker.
Introduktion til Oracle RANK () – funktion
RANK()
– funktionen er en analytisk funktion, der beregner rangeringen af en værdi i et sæt værdier.
RANK()
funktionen returnerer den samme rang for rækkerne med de samme værdier. Det tilføjer antallet af bundne rækker til den bundne rang for at beregne den næste rang., Derfor kan rækkerne ikke være fortløbende tal.
RANK()
funktionen er nyttig til top-n og bottom-n forespørgsler.
Det illustrerer følgende syntaks af RANK()
funktion:
order_by_clause
er nødvendig. Den specificerer rækkefølgen af rækker i hver partition, som funktionen RANK()
gælder for.
forespørgselspartitionsklausulen, hvis den er tilgængelig, opdeler rækkerne i partitioner, som funktionenRANK()
gælder for., Hvis forespørgselspartitionsårsagen udelades, behandles hele resultatsættet som en enkelt partition.,tabel, der hedder rank_demo
, der består af en kolonne:
for det Andet, skal du indsætte nogle rækker i rank_demo
tabel:
Tredje, forespørgsel fra rank_demo
tabel:
for det Fjerde, skal du bruge RANK()
funktion til at beregne den rang for hver række i rank_demo
tabel:
viser følgende output:
De to første rækker har modtaget den samme rang 1., Den tredje række fik rang 3, fordi den anden række allerede modtog rang 1. De næste tre rækker fik samme rang 4 og den sidste række fik rang 7.
Oracle RANG() funktion eksempler
Vi bruger products
tabel fra eksempeldatabasen til demonstration.,
Oracle RANG() funktion simpelt eksempel
følgende erklæring beregner rang af hvert enkelt produkt, der ved sin list price:
Her er den delvise output:
for At komme i top 10 dyreste produkter, du bruger følgende erklæring:
I dette eksempel, at det fælles bord udtryk returnerede produkter med deres rækker, og den ydre forespørgsel valgt kun de første 10 dyreste produkter.,
Her er output:
Brug af Oracle RANG() funktion med PARTITION MED et godt eksempel
følgende eksempel returnerer top-3 dyreste produkter inden for hver kategori:
I dette eksempel:
- Første
PARTITION BY
klausul opdelt produkterne i flere partitioner efter kategori. - derefter sorterede
ORDER BY
klausulen rækkerne i hver partition efter listepris i faldende rækkefølge., - endelig beregnede
RANK()
funktionen rang for hver række i hver partition. Det re-initialiseret rang for hver partition.
følgende viser output:
I denne tutorial, du har lært hvordan til at beregne rangen for en værdi i et sæt af værdier ved hjælp af Oracle RANK()
funktion.
- var denne vejledning nyttig?
- YesNo
Leave a Reply