Rezumat: în acest tutorial, veți învăța cum să utilizați SQL Server RANK()
funcția pentru a calcula un rang pentru fiecare rând dintr-o partiție de un set de rezultate.
Introducere în SQL Server RANK() funcția
funcția RANK()
este o funcție de fereastră care atribuie un rang fiecărui rând dintr-o partiție a unui set de rezultate.
rândurile dintr-o partiție care au aceleași valori vor primi același rang. Rangul primului rând dintr-o partiție este unul., Funcția RANK()
adaugă numărul de rânduri legate la rangul legat pentru a calcula rangul rândului următor, prin urmare, este posibil ca rândurile să nu fie consecutive.
următoarele spectacole sintaxa RANK()
funcția:
În această sintaxă:
- în Primul rând,
PARTITION BY
clauza împarte rânduri din setul de rezultate partițiile pentru care funcția este aplicat. - în al doilea rând, clauza
ORDER BY
specifică ordinea de sortare logică a rândurilor din fiecare partiție a la care se aplică funcția.,
funcția RANK()
este utilă pentru rapoartele top-N și bottom-N.,”>
în al Doilea rând, introduce câteva rânduri în sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
în al Treilea rând, date de interogare de la sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
în al Patrulea rând, utilizați ROW_NUMBER()
pentru a atribui ranguri de randuri din setul de rezultate al sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
Aici este rezultatul:
după Cum se arată în mod clar de la ieșire, cea de-a doua și a treia rânduri primi același rang, deoarece acestea au aceeași valoare B., Al patrulea și al cincilea rând obțin rangul 4, deoarece funcția RANK()
ignoră rangul 3 și ambele au aceleași valori.,iv id=”6657ab2abb”>
funcția:
Utilizarea SQL Server RANG() funcția de peste un set de rezultate exemplu
următorul exemplu folosește RANK()
funcția de a atribui ranguri pentru produsele în funcție de prețurile de listă:
Aici este setul de rezultate:
În acest exemplu, pentru că am sărit peste PARTITION BY
clauză, RANK()
funcția tratat întregul set de rezultate ca o singură partiție.,
funcția RANK()
atribuie un rang fiecărui rând din setul de rezultate sortat după prețul de listă de la mare la mic.,
Utilizarea SQL Server RANG (a) funcția de peste partiții exemplu
Acest exemplu utilizează RANK()
funcția de a atribui un rang pentru fiecare produs de prețul de listă în fiecare brand și de returnare a produselor cu grad mai mic sau egal cu trei.
imaginea De mai jos prezinta ieșire:
În acest exemplu:
- în Primul rând,
PARTITION BY
clauza împarte produsele în partiții de brand Id., - în al doilea rând, clauza
ORDER BY
sortează produsele în fiecare partiție după prețurile de listă. - în al treilea rând, interogarea exterioară returnează produsele ale căror valori de rang sunt mai mici sau egale cu trei.
funcția RANK()
este aplicată fiecărui rând din fiecare partiție și reinitializată la trecerea limitei partiției.
În acest tutorial, ați învățat cum să utilizați SQL Server RANK()
funcția pentru a atribui un rang fiecărui rând dintr-o partiție a unui set de rezultate.