logo

RANK()-functie in SQL Server

SQL RANK()-functie is een vensterfunctie die wordt gebruikt SQL-server dat de rangorde van elke rij van de berekent resultaat ingesteld .

RANK-functie in SQL Server

De RANK-functie in de SQL-server wordt gebruikt om aan elke rij een rang toe te wijzen op basis van de waarde ervan.



Dezelfde rang wordt toegekend aan de rijen met dezelfde waarden. De rangen mogen niet opeenvolgend zijn in de RANK()-functie omdat het het aantal herhaalde rijen optelt bij de herhaalde rangorde om de rangorde van de volgende rij te berekenen.

Syntaxis

De syntaxis voor het gebruik van de RANK-functie in SQL Server is:

RANG() BOVEN (
[PARTITION BY expressie, ]
ORDER BY-expressie (ASC | DESC) );



Opmerking:

Enkele andere rangschikkingsfuncties die in SQL Server worden gebruikt, zijn:

Voorbeeld van SQL RANK-functie

Laten we eens kijken naar enkele voorbeelden van de RANK-functie in de SQL-server om te begrijpen hoe deze werkt.



Laten we een demotabel maken waarop we de RANK-instructie zullen uitvoeren. Schrijf de volgende query's om een ​​tabel geek_demo te maken.

  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;>

Uitvoer

Naam
A
B
B
C
C
D
EN

In dit voorbeeld gebruiken we RANK() om rangen toe te wijzen aan de rijen in de resultatenset van de tabel geek_demo.

Vraag:

  SELECT   Name,    RANK () OVER   (   ORDER BY   Name )   AS   Rank_no    FROM   geek_demo;>

Uitgang –

Naam Rang_nr
A 1
B 2
B 2
C 4
C 4
D 6
EN 7

Belangrijke punten over de SQL RANK-functie

  • De SQL RANK-functie is een vensterfunctie die in SQL Server wordt gebruikt om een ​​rangorde voor elke rij te berekenen.
  • Het kent een unieke rang toe aan elke rij binnen de partitie, met hiaten in de rangwaarden als er sprake is van gelijkspel.
  • Met de RANK-functie kunt u rijen rangschikken op basis van een opgegeven kolom of reeks kolommen, waardoor een duidelijke prioriteitsvolgorde binnen de resultatenset ontstaat.
  • Wanneer we de SQL RANK-functie gebruiken met ORDER BY-clausule , de resultaatset wordt geretourneerd met gesorteerde rijen in elke partitie waarop de RANK-functie wordt toegepast.
  • Dezelfde rang wordt toegekend aan de rijen met dezelfde waarden.