resum.: i denne vejledning lærer du, hvordan du bruger s .lite RANK()
funktion til at beregne rækkerne for rækker i en forespørgsels resultatsæt.
Introduktion til S .lite RANK () – funktion
RANK()
– funktionen er en vinduesfunktion, der tildeler en rang til hver række i en forespørgsels resultatsæt. Rangen af en række beregnes med en plus antallet af rækker, der kommer før den.,
følgende viser syntaks af RANK()
funktion:
I denne syntaks:
- Første
PARTITION BY
klausul, der opdeler rækkerne af resultatet, der er i partitioner. - sekund,
ORDER BY
klausul angiver rækkefølgen af rækkerne i hver en partition. - for det tredje anvendes funktionen
RANK()
på hver række i hver partition og initialiseres igen, når man krydser partitionsgrænsen.
de samme kolonneværdier vil modtage de samme rækker., Når flere rækker har samme rang, er rangeringen af den næste række ikke i træk. Dette er som den olympiske medalje, hvor hvis to atleter deler guldmedaljen, vil der ikke være nogen sølvmedalje.,913ee4e2a9″>
Tredje, forespørge på data fra RankDemo
tabel:
den Fjerde, brug RANK()
funktion til at tildele rækker til rækker i resultatet af RankDemo
tabel:
Her er resultatet:
Som du kan se klart fra output, tredje og fjerde rækker modtage den samme rang, fordi de har samme værdi., Den femte række får rang 5, fordi RANK()
funktionen springer over rang 4.
s .lite RANK () – funktionseksempler
for at demonstrereRANK()
– funktionen bruger vitracks
– tabellen fra eksempeldatabasen.,
Brug af SQLite RANG() funktion med ORDER BY eksempel
Den følgende sætning bruger RANK()
funktion til at rangere spor af deres længder:
I dette eksempel, vi sprunget PARTITION BY
klausul, derfor RANK()
funktion behandler hele resultatet angives som en enkelt partition.
først sortererORDER BY
klausulen sporene efter deres længder (Milliseconds
kolonne).,
for det andet anvendes RANK()
– funktionen til hver række i resultatsættet i betragtning af rækkefølgen af spor efter deres længder.,
Brug af SQLite RANG() funktion med PARTITION MED et godt eksempel
Den følgende sætning bruger RANK()
funktion til at tildele en rang til hvert spor på hver album:
følgende billede viser delvis output:
I dette eksempel:
- Første
PARTITION BY
klausul deler spor i albummer. - derefter sorterer
ORDER BY
klausulen sporene efter deres længder., - endelig tildeler
RANK()
funktionen en rang til hvert spor i hvert album. Hvis albummet ændres, geninitialiserer funktionenRANK()
rangværdien.
Det er muligt at finde den anden længste spor i hver album ved at bruge følgende underforespørgsel:
output er som følger:
I denne tutorial, du har lært at bruge SQLite RANK()
funktion til at tildele en rang til hver række i et resultatsæt.,
- var denne vejledning nyttig ?
- YesNo