SQL RANK() funkcija ir loga funkcija, ko izmanto SQL serveris kas aprēķina katras rindas rangu rezultātu komplekts .
RANK funkcija SQL serverī
Funkcija RANK SQL serverī tiek izmantota, lai katrai rindai piešķirtu rangu, pamatojoties uz tās vērtību.
Tāds pats rangs tiek piešķirts rindām, kurām ir vienādas vērtības. Rangas nedrīkst būt pēc kārtas RANK() funkcija jo tas pievieno atkārtoto rindu skaitu atkārtotajam rangam, lai aprēķinātu nākamās rindas rangu.
Sintakse
Sintakse funkcijas RANK izmantošanai SQL Server ir:
RANK() OVER (
[PARTITION BY izteiksme, ]
ORDER BY izteiksme (ASC | DESC) );
Piezīme:
Dažas citas SQL Server izmantotās ranga funkcijas ir:
- ROW_NUMBER()
- DENSE_RANK()
- TILE()
SQL RANK funkcijas piemērs
Apskatīsim dažus RANK funkcijas piemērus SQL serverī, lai saprastu, kā tā darbojas.
Izveidosim demonstrācijas tabulu, kurā izpildīsim RANK paziņojumu. Uzrakstiet šādus vaicājumus, lai izveidotu tabulu geek_demo.
CREATE TABLE geek_demo (Name VARCHAR(10) ); INSERT INTO geek_demo (Name) VALUES ('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E'); SELECT * FROM sales.geek_demo;>
Izvade
Vārds |
---|
A |
B |
B |
C |
C |
D |
UN |
Šajā piemērā mēs izmantosim RANK(), lai piešķirtu rindas tabulas geek_demo rezultātu kopas rindām.
Vaicājums:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Izvade -
Vārds | Ranga_nr |
---|---|
A | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
UN | 7 |
Svarīgi punkti par SQL RANK funkciju
- Funkcija SQL RANK ir loga funkcija, ko izmanto SQL Server, lai aprēķinātu katras rindas rangu.
- Tas piešķir unikālu rangu katrai nodalījuma rindai, un rangu vērtībās ir nepilnības, ja ir saites.
- Funkcija RANK ļauj ranžēt rindas, pamatojoties uz noteiktu kolonnu vai kolonnu kopu, nodrošinot skaidru prioritātes secību rezultātu kopā.
- Kad mēs izmantojam funkciju SQL RANK ar PASŪTĪT PĒC klauzulas , rezultātu kopa tiek atgriezta ar sakārtotām rindām katrā nodalījumā, kurā tiek lietota funkcija RANK.
- Tāds pats rangs tiek piešķirts rindām, kurām ir vienādas vērtības.