Resumé: i denne tutorial vil du lære, hvordan man bruger SQL Server – RANK()
funktion til at beregne en rang for hver række i en partition i et resultat-sæt.
Introduktion til S .l Server RANK () – funktion
RANK()
– funktionen er en vinduesfunktion, der tildeler en rang til hver række inden for en partition af et resultatsæt.
rækkerne i en partition, der har de samme værdier, får samme rang. Rangeringen af den første række inden for en partition er en., Funktionen RANK()
tilføjer antallet af bundne rækker til den bundne rang for at beregne rangeringen af den næste række, derfor er rækkerne muligvis ikke i træk.
følgende viser syntaks af RANK()
funktion:
I denne syntaks:
- Første
PARTITION BY
klausul, der opdeler rækkerne af resultatet, der partitioner, hvor funktionen anvendes. - for det andet specificerer
ORDER BY
klausul den logiske sorteringsrækkefølge for rækkerne i hver en partition, som funktionen anvendes til.,
RANK()
funktionen er nyttig til top-n og bottom-n rapporter.,”>
for det Andet, skal du indsætte nogle rækker i sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
Tredje, forespørge på data fra sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
den Fjerde, brug ROW_NUMBER()
for at tildele rækker til rækker i resultatet af sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
Her er resultatet:
Som vist klart fra output, andet og tredje rækker modtage den samme rang, fordi de har samme værdi B., Den fjerde og femte række får rang 4, fordi RANK()
funktionen springer over rang 3, og begge har også de samme værdier.,iv id=”6657ab2abb”>
funktion:
ved Hjælp af SQL Server RANG() funktion over et resultat, der er eksempel
Det følgende eksempel bruger RANK()
funktion til at tildele rækker til de produkter, der ved deres liste priser:
Her er resultatet:
I dette eksempel, fordi vi sprunget PARTITION BY
klausul, RANK()
funktion behandlet hele resultatet angives som en enkelt partition.,
funktionenRANK()
tildeler en rang til hver række inden for resultatsættet sorteret efter listepris fra høj til lav.,
ved Hjælp af SQL Server RANG() funktion over partitioner eksempel
Dette eksempel bruger RANK()
funktion til at tildele en rang til hvert produkt liste pris i hvert enkelt mærke, og returnerer produkter med rang mindre end eller lig med tre:
følgende billede viser output:
I dette eksempel:
- Første
PARTITION BY
klausul opdeler produkter i partitioner ved brand-Id., - for det andet sorterer
ORDER BY
klausul produkter i hver partition efter listepriser. - for det tredje returnerer den ydre forespørgsel de produkter, hvis rangværdier er mindre end eller lig med tre.
RANK()
funktionen anvendes på hver række i hver partition og geninitialiseres, når man krydser partitionens grænse.
i denne tutorial har du lært, hvordan du bruger s .l Server RANK()
funktionen til at tildele en rang til hver række inden for en partition af et resultatsæt.