Funkce MySQL DENSE_RANK

Shrnutí: v tomto kurzu se seznámíte s funkcí MySQL DENSE_RANK() a jejím použitím pro zjištění pořadí řádku v oddílu nebo souboru výsledků.

Úvod do funkce MySQL DENSE_RANK

Funkce DENSE_RANK() je okenní funkce, která každému řádku v oddílu nebo souboru výsledků přiřadí pořadí bez mezer v hodnotách pořadí.

Rang řádku se zvýší o jedničku z počtu odlišných hodnot ranků, které jsou před řádkem.

Syntaxe funkce DENSE_RANK() je následující:

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

V této syntaxi:

  • Nejprve klauzule PARTITION BY rozdělí množiny výsledků vytvořené klauzulí FROM na oddíly. Na každý oddíl se aplikuje funkce DENSE_RANK().
  • Druhé, klauzule ORDER BY určuje pořadí řádků v každém oddílu, na kterém pracuje funkce DENSE_RANK().

Pokud má oddíl dva nebo více řádků se stejnou hodnotou hodnosti, bude každému z těchto řádků přiřazena stejná hodnost.

Na rozdíl od funkce RANK() vrací funkce DENSE_RANK() vždy po sobě jdoucí hodnoty hodnosti.

Předpokládejme, že máme tabulku t s několika vzorky dat takto:

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

Následující příkaz použije funkci DENSE_RANK() k přiřazení hodnosti každému řádku:

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

Tady je výstup:

Příklad funkce MySQL DENSE_RANK

Příklad funkce MySQL DENSE_RANK()

Pro ukázku použijeme tabulku sales vytvořenou v návodu na funkci okna.

tabulka prodejů

Následující příkaz využívá funkci DENSE_RANK() k seřazení zaměstnanců prodeje podle výše prodeje.

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

Výstup je následující:

MySQL DENSE_RANK - Přiřazení pořadí prodejním zaměstnancům

V tomto příkladu:

  • Nejprve klauzule PARTITION BY rozdělila soubory výsledků na oddíly pomocí fiskálního roku.
  • Druhé, klauzule ORDER BY určila pořadí zaměstnanců podle tržeb v sestupném pořadí.
  • Zatřetí, funkce DENSE_RANK() je aplikována na každý oddíl s pořadím řádků určeným klauzulí ORDER BY.

V tomto návodu jste se naučili používat funkci DENSE_RANK() MySQL k řazení řádků v každém oddílu výsledkové množiny.

  • Pomohl vám tento návod?
  • AnoNe

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.