Oppsummering: i denne opplæringen vil du lære hvordan du bruker Oracle RANK()
funksjon for å beregne graden av rader i et sett med rader.
Introduksjon til Oracle RANK () – funksjonen
RANK()
funksjon er en analytisk funksjon som beregner verdien av en verdi i et sett av verdier.
RANK()
funksjonen returnerer samme verdi for rader med samme verdier. Det legger rekke knyttet rader til bundet rang for å beregne neste rang., Derfor rekkene kan ikke være sammenhengende tall.
RANK()
funksjonen er nyttig for topp-N og bunn-N spørsmål.
følgende illustrerer syntaks for RANK()
funksjoner:
order_by_clause
er nødvendig. Det arter rekkefølgen på radene i hver partisjon som RANK()
funksjonen gjelder.
spørringen partisjon punkt, hvis tilgjengelig, skiller rader i partisjoner som RANK()
funksjonen gjelder., I tilfelle spørringen partisjon årsaken er utelatt, hele resultatsett er behandlet som en enkelt partisjon.,tabell navnet rank_demo
som består av en kolonne:
Andre, sette inn noen rader i rank_demo
tabell:
Tredje, spørring fra rank_demo
tabell:
Fjerde, bruk RANK()
funksjonen til å beregne en verdi for hver rad i rank_demo
tabell:
følgende viser utdata:
De to første radene fått samme rangering 1., Tredje rad fikk rang 3, fordi den andre raden allerede fått rang 1. De neste tre rader fått samme verdi 4 og siste rad fikk rang 7.
Oracle RANK () – funksjonen eksempler
Vi vil bruke products
tabell fra eksempeldatabasen for demonstrasjon.,
Oracle RANK () – funksjonen enkelt eksempel
følgende uttalelse beregner verdi av hvert enkelt produkt av sin liste pris:
Her er delvis utgang:
for Å få topp 10 mest kostbare produkter, bruker du følgende uttalelse:
I dette eksempelet, er det vanlig tabell uttrykk returnerte produkter med sine rekker, og den ytre spørring valgt ut kun de første 10 dyreste produktene.,
Her er resultatet:
ved Hjelp av Oracle RANK () – funksjonen med PARTISJON VED eksempel
følgende eksempel gir topp 3 mest kostbare produkter for hver kategori:
I dette eksempelet:
- Første
PARTITION BY
klausulen delt produktene inn i flere partisjoner etter kategori. - Da
ORDER BY
klausulen sortert radene i hver partisjon av listepris i synkende rekkefølge., - til Slutt,
RANK()
funksjon beregnet verdi for hver rad i hver partisjon. Det re-initialisert rangering for hver partisjon.
følgende viser utgang:
I denne opplæringen, har du lært hvordan du skal beregne verdien av en verdi i et sett av verdier ved å bruke Oracle RANK()
funksjon.
- Var denne opplæringen nyttig?
- YesNo
Leave a Reply