Sammanfattning: I den här handledningen kommer du att lära dig om MySQL DENSE_RANK()-funktionen och hur du använder den för att hitta rangordningen för en rad i en partition eller en resultatuppsättning.
Introduktion till MySQL DENSE_RANK-funktionen
 DENSE_RANK() är en fönsterfunktion som tilldelar en rangordning för varje rad i en partition eller resultatuppsättning utan luckor i rangordningsvärden.
Rankningen av en rad ökas med ett från antalet distinkta rangvärden som kommer före raden.
Syntaxen för DENSE_RANK()-funktionen är följande:
Code language: SQL (Structured Query Language) (sql)
I den här syntaxen:
- För det första delar PARTITION BY-klausulen upp de resultatmängder som produceras avFROM-klausulen i partitioner. FunktionenDENSE_RANK()tillämpas på varje partition.
- För det andra anger ORDER BY-klausulen i vilken ordning raderna i varje partition somDENSE_RANK()-funktionen verkar på.
Om en partition har två eller flera rader med samma rangvärde kommer var och en av dessa rader att tilldelas samma rangvärde.
Till skillnad från RANK()-funktionen returnerar DENSE_RANK()-funktionen alltid på varandra följande rangvärden.
Antag att vi har en tabell t med några provdata enligt följande:
Code language: SQL (Structured Query Language) (sql)
Följande anvisning använder DENSE_RANK()-funktionen för att tilldela varje rad en rang: 
Code language: SQL (Structured Query Language) (sql)
Här är resultatet:

MySQL DENSE_RANK() function example
Vi kommer att använda tabellen sales som skapades i handledningen för fönsterfunktionen för demonstrationen.

I följande instruktion används DENSE_RANK()-funktionen för att rangordna försäljningsanställda efter försäljningsbelopp.
Code language: SQL (Structured Query Language) (sql)
Utmatningen ser ut på följande sätt:

I det här exemplet:
- För det första delade PARTITION BY-klausulen upp resultatmängderna i partitioner med hjälp av räkenskapsår.
- För det andra specificerade ORDER BY-klausulen ordningen för försäljningsanställda efter försäljning i fallande ordning.
- För det tredje tillämpas DENSE_RANK()-funktionen på varje partition med den ordning för rader som specificeras avORDER BY-klausulen.
I den här handledningen har du lärt dig hur du använder MySQL-funktionen DENSE_RANK() för att rangordna rader i varje partition i en resultatmängd.
- Har du nytta av den här handledningen?
- JaNej