funkce SQL RANK(). je funkce okna používaná v SQL Server který vypočítá pořadí každého řádku sada výsledků .
Funkce RANK v SQL Server
Funkce RANK v SQL serveru se používá k přiřazení pořadí každému řádku na základě jeho hodnoty.
Stejné pořadí je přiřazeno řádkům, které mají stejné hodnoty. Pořadí nemusí být v pořadí po sobě jdoucí funkce RANK(). protože přičte počet opakovaných řádků k opakovanému pořadí, aby se vypočítalo pořadí dalšího řádku.
Syntax
Syntaxe pro použití funkce RANK na serveru SQL Server je:
POŘADÍ() NAD (
[ODDĚLENÍ PODLE výrazu, ]
ORDER BY výraz (ASC | DESC) );
Poznámka:
Některé další funkce hodnocení používané v SQL Server jsou:
- ROW_NUMBER()
- DENSE_RANK()
- NTILE()
Příklad funkce SQL RANK
Podívejme se na některé příklady funkce RANK na serveru SQL, abychom pochopili, jak funguje.
Vytvořme si ukázkovou tabulku, na které budeme provádět příkaz RANK. Napište následující dotazy a vytvořte tabulku 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;>
Výstup
název |
---|
A |
B |
B |
C |
C |
D |
A |
V tomto příkladu použijeme RANK() k přiřazení hodnocení k řádkům ve výsledné sadě tabulky geek_demo.
Dotaz:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Výstup -
název | Rank_no |
---|---|
A | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
A | 7 |
Důležité body o funkci SQL RANK
- Funkce SQL RANK je funkce okna používaná v SQL Server k výpočtu pořadí pro každý řádek.
- Každému řádku v rámci oddílu přiřadí jedinečné pořadí s mezerami v hodnotách pořadí, pokud existují shody.
- Funkce RANK umožňuje seřadit řádky na základě zadaného sloupce nebo sady sloupců, což poskytuje jasné pořadí priority v sadě výsledků.
- Když použijeme funkci SQL RANK s doložka ORDER BY , sada výsledků je vrácena s seřazenými řádky v každém oddílu, kde je použita funkce RANK.
- Stejné pořadí je přiřazeno řádkům, které mají stejné hodnoty.