rezumat: în acest tutorial, veți învăța cum să utilizați funcția SQLite RANK()
pentru a calcula rândurile pentru rândurile din setul de rezultate al unei interogări.
Introducere în funcția SQLite RANK ()
funcția RANK()
este o funcție de fereastră care atribuie un rang fiecărui rând dintr-un set de rezultate al unei interogări. Rangul unui rând este calculat cu un plus numărul de rânduri care vine înaintea lui.,
următoarele spectacole sintaxa RANK()
funcția:
În această sintaxă:
- în Primul rând,
PARTITION BY
clauza împarte rânduri din setul de rezultate în partiții. - în al doilea rând, clauza
ORDER BY
specifică ordinele rândurilor din fiecare partiție A. - în al treilea rând, funcția
RANK()
este aplicată fiecărui rând din fiecare partiție și re-inițializată la trecerea limitei partiției.
aceleași valori ale coloanei vor primi aceleași ranguri., Când mai multe rânduri au același rang, rangul rândului următor nu este consecutiv. Aceasta este ca medalia olimpică în care, dacă doi sportivi împărtășesc medalia de aur, nu va exista nici o medalie de argint.,913ee4e2a9″>
în al Treilea rând, date de interogare de la RankDemo
tabel:
în al Patrulea rând, utilizați RANK()
funcția de a atribui ranguri de randuri din setul de rezultate al RankDemo
tabel:
Aici este rezultatul:
după Cum puteți vedea în mod clar de la ieșire, cea de-a treia și a patra rânduri primi același rang, deoarece acestea au aceeași valoare., Al cincilea rând primește rangul 5, deoarece funcția RANK()
ignoră rangul 4.
SQLite GRADUL (funcția) exemple
Pentru a demonstra RANK()
funcția, vom folosi tracks
tabel din baza de date eșantion.,
Folosind SQLite GRADUL (funcția) cu SCOPUL DE clauza de exemplu,
următoarea declarație foloseste RANK()
funcția la rang de piese de lungimea lor:
În acest exemplu, am sărit peste PARTITION BY
clauză, prin urmare, RANK()
funcția tratează întregul set de rezultate ca o singură partiție.
în primul rând, clauza ORDER BY
sortează piesele după lungimile lor (Milliseconds
coloană).,
în al Doilea rând, RANK()
funcția se aplică pentru fiecare rand din setul de rezultate, având în vedere comenzile de piese de lungimea lor.,
Folosind SQLite GRADUL (funcția) cu PARTITIA DE exemplu,
următoarea declarație foloseste RANK()
funcția de a atribui un rang pentru fiecare piesa în fiecare album:
imaginea De mai jos prezinta parțială de ieșire:
În acest exemplu:
- în Primul rând,
PARTITION BY
clauza împarte piese în albume. - apoi, clauza
ORDER BY
sortează piesele după lungimi., - în cele din urmă, funcția
RANK()
atribuie un rang fiecărei piese din fiecare album. Dacă albumul se schimbă, funcțiaRANK()
re-inițializează valoarea rangului.
este posibil de a găsi cea de-a doua cea mai lunga piesa de pe fiecare album utilizând următoarele subinterogare:
ieșire este după cum urmează:
În acest tutorial, ai învățat cum să folosesc SQLite RANK()
funcția de a atribui un rang pentru fiecare rând într-un set de rezultate.,
- a fost acest tutorial util ?
- YesNo