rezumat: în acest tutorial, veți învăța cum să utilizați funcția PostgreSQL RANK()
pentru a atribui un rang pentru fiecare rând al unui set de rezultate.
Introducere în funcția PostgreSQL RANK ()
funcția RANK()
atribuie un rang fiecărui rând dintr-o partiție a unui set de rezultate.pentru fiecare partiție, rangul primului rând este 1., Funcția RANK()
adaugă numărul de rânduri legate la rangul legat pentru a calcula rangul rândului următor, astfel încât rândurile să nu fie secvențiale. În plus, rândurile cu aceleași valori vor obține același rang.
următoarele ilustrează sintaxa RANK()
funcția:
Code language: CSS (css)
În această sintaxă:
- în Primul rând,
PARTITION BY
clauza distribuie rânduri din setul de rezultate în partiții pentru careRANK()
funcția este aplicat., - apoi, clauza
ORDER BY
specifică ordinea rândurilor din fiecare partiție a la care se aplică funcția.
funcția RANK()
poate fi utilă pentru crearea rapoartelor top-N și bottom-N.,a9f5e0f”>
tabel:
în al Patrulea rând, utilizați RANK()
funcția de a atribui ranguri de randuri din setul de rezultate al ranks
tabel:
imaginea De mai jos prezinta ieșire:
după Cum puteți vedea în mod clar de ieșire:
- primul și Al doilea rânduri primi același rang, deoarece acestea au aceeași valoare
A
., - al treilea, Al patrulea, și al cincilea rând primi rank 3 deoarece
RANK()
funcția de sare de rangul 2 și toate dintre ele au aceleași valoriB
.,a datelor deproducts
tabel:1) Folosind PostgreSQL RANG() funcția pentru întregul set de rezultate
Acest exemplu utilizează
RANK()
funcția de a atribui un rang pentru fiecare produs cu prețul său:În acest exemplu, am omis
PARTITION BY
clauză, prin urmare,RANK()
funcția tratat întregul set de rezultate ca o singură partiție.,funcția
RANK()
a calculat un rang pentru fiecare rând din întregul set de rezultate sortat după prețuri de la mare la mic.,2) Folosind PostgreSQL GRADUL (funcția) cu PARTITIA DE clauza de exemplu,
următorul exemplu folosește
RANK()
funcția de a atribui un rang pentru fiecare produs din fiecare grup de produse:În acest exemplu:
- în Primul rând,
PARTITION BY
clauza distribuie produse în partiții grupate în funcție de grupa de produse id (group_id
). - în al doilea rând, clauza
ORDER BY
sortează produsele în fiecare partiție după prețurile lor de la mare la mic.,
RANK()
funcție a fost aplicată pentru fiecare produs din fiecare grup de produse și este reinițializat la grupul de produse s-a schimbat.În acest tutorial, ați învățat cum să utilizați funcția PostgreSQL
RANK()
pentru a calcula un rang pentru fiecare rând dintr-o partiție a unui set de rezultate.- a fost acest tutorial util ?
- YesNo
- în Primul rând,
Lasă un răspuns