Funzione SQL RANK() è una funzione finestra utilizzata in server SQL che calcola il rango di ciascuna riga del file insieme di risultati .
Funzione RANK in SQL Server
La funzione RANK nel server SQL viene utilizzata per assegnare un rango a ciascuna riga in base al suo valore.
Lo stesso rango viene assegnato alle righe che hanno gli stessi valori. I ranghi non possono essere consecutivi nella RANGO() poiché aggiunge il numero di righe ripetute al rango ripetuto per calcolare il rango della riga successiva.
Sintassi
La sintassi per utilizzare la funzione RANK in SQL Server è:
RANGO() SOPRA (
[espressione PARTITION BY,]
ORDER BY espressione (ASC | DESC) );
istanza di Java
Nota:
Alcune altre funzioni di classificazione utilizzate in SQL Server sono:
- NUMERO_RIGA()
- DENSO_RANGO()
- NTILE()
Esempio di funzione SQL RANK
Diamo un'occhiata ad alcuni esempi della funzione RANK nel server SQL per capire come funziona.
Creiamo una tabella demo sulla quale eseguiremo l'istruzione RANK. Scrivi le seguenti query per creare una tabella 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;>
Produzione
Nome |
---|
UN |
B |
B |
C |
C |
D |
E |
In questo esempio utilizzeremo RANK() per assegnare ranghi alle righe nel set di risultati della tabella geek_demo.
Domanda:
è uguale alla stringa in Java
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Produzione -
Nome | Rank_no |
---|---|
UN | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
E | 7 |
Punti importanti sulla funzione SQL RANK
- La funzione SQL RANK è una funzione di finestra utilizzata in SQL Server per calcolare una classifica per ogni riga.
- Assegna un rango univoco a ciascuna riga all'interno della partizione, con lacune nei valori di rango in caso di parità.
- La funzione RANK consente di classificare le righe in base a una colonna o a un insieme di colonne specificato, fornendo un chiaro ordine di precedenza all'interno del set di risultati.
- Quando utilizziamo la funzione SQL RANK con Clausola ORDER BY , il set di risultati viene restituito con righe ordinate in ciascuna partizione in cui viene applicata la funzione RANK.
- Lo stesso rango viene assegnato alle righe che hanno gli stessi valori.