MySQL DENSE_RANK Functie

Samenvatting: in deze tutorial leer je over de MySQL DENSE_RANK() functie en hoe deze toe te passen om de rang van rij in een partitie of result set te vinden.

Inleiding tot MySQL DENSE_RANK functie

De DENSE_RANK() is een venster functie die een rang toekent aan elke rij binnen een partitie of result set zonder gaten in de rang waarden.

De rang van een rij wordt verhoogd met één van het aantal verschillende rangwaarden die vóór de rij komen.

De syntaxis van de DENSE_RANK()-functie is als volgt:

Code language: SQL (Structured Query Language) (sql)

In deze syntaxis:

  • Eerst verdeelt de PARTITION BY-clausule de door de FROM-clausule geproduceerde resultatenreeksen in partities. De DENSE_RANK() functie wordt op elke partitie toegepast.
  • Tweede, de ORDER BY clausule specificeert de volgorde van rijen in elke partitie waarop de DENSE_RANK() functie werkt.

Als een partitie twee of meer rijen met dezelfde rang waarde heeft, zal elk van deze rijen dezelfde rang toegewezen krijgen.

In tegenstelling tot de RANK() functie, retourneert de DENSE_RANK() functie altijd opeenvolgende rang waarden.

Voorstel dat we een tabel t hebben met enkele steekproeven als volgt:

Code language: SQL (Structured Query Language) (sql)

Het volgende statement gebruikt de functie DENSE_RANK() om aan elke rij een rang toe te kennen:

Code language: SQL (Structured Query Language) (sql)

Hier volgt de uitvoer:

MySQL DENSE_RANK Functievoorbeeld

MySQL DENSE_RANK() functievoorbeeld

We zullen voor de demonstratie de sales tabel gebruiken die in de window functiehandleiding is gemaakt.

tabel verkoop

De volgende verklaring gebruikt de functie DENSE_RANK() om de verkoopmedewerkers te rangschikken op verkoopbedrag.

Code language: SQL (Structured Query Language) (sql)

De uitvoer ziet er als volgt uit:

MySQL DENSE_RANK - Rangschikken van verkoopmedewerkers

In dit voorbeeld:

  • Eerst heeft de PARTITION BY-clausule de resultatenreeksen in partities verdeeld op basis van het fiscale jaar.
  • Tweede, de ORDER BY clausule specificeerde de volgorde van de verkoopmedewerkers door verkoop in aflopende volgorde.
  • Derde, de DENSE_RANK() functie wordt toegepast op elke partitie met de rijen volgorde gespecificeerd door de ORDER BY clausule.

In deze tutorial hebt u geleerd hoe u de MySQL-functie DENSE_RANK() kunt gebruiken om rijen in elke partitie van een resultaatverzameling te rangschikken.

  • Was deze tutorial nuttig?
  • JaNee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.