Sommario: in questo tutorial, si impara come utilizzare SQL ServerRANK()
funzione per calcolare un rango per ogni riga all’interno di una partizione di un set di risultati.
Introduzione alla funzione SQL Server RANK ()
La funzioneRANK()
è una funzione finestra che assegna un rank a ogni riga all’interno di una partizione di un set di risultati.
Le righe all’interno di una partizione che hanno gli stessi valori riceveranno lo stesso rango. Il rango della prima riga all’interno di una partizione è uno., La funzioneRANK()
aggiunge il numero di righe legate al rango legato per calcolare il rango della riga successiva, pertanto, i ranghi potrebbero non essere consecutivi.
Quanto segue mostra la sintassi della funzione RANK()
:
In questa sintassi:
- Innanzitutto, la clausola
PARTITION BY
divide le righe delle partizioni del set di risultati a cui viene applicata la funzione. - In secondo luogo, la clausola
ORDER BY
specifica l’ordinamento logico delle righe in ciascuna partizione a cui viene applicata la funzione.,
La funzione RANK()
è utile per i report top-N e bottom-N.,”>
Secondo, inserire alcune righe in un sales.rank_demo
tabella:
Code language: SQL (Structured Query Language) (sql)
Terzo, query di dati sales.rank_demo
tabella:
Code language: SQL (Structured Query Language) (sql)
Quarto, utilizzare il ROW_NUMBER()
per assegnare i ranghi per le righe del risultato serie di sales.rank_demo
tabella:
Code language: SQL (Structured Query Language) (sql)
Ecco l’output:
Come si vede chiaramente dall’uscita, la seconda e la terza riga ricevere stesso valore perché hanno lo stesso valore B., La quarta e la quinta riga ottengono il rango 4 perché la funzioneRANK()
salta il rango 3 ed entrambi hanno anche gli stessi valori.,iv id=”6657ab2abb”>
funzione:
Utilizzo di SQL Server RANK() funzione di un set di risultati di esempio
L’esempio seguente utilizza il RANK()
funzione per assegnare i ranghi per i prodotti da loro prezzi di listino:
Ecco il risultato set:
In questo esempio, perché abbiamo saltato il PARTITION BY
clausola, il RANK()
funzione trattato tutto il set di risultati di una singola partizione.,
La funzioneRANK()
assegna un rank a ogni riga all’interno del set di risultati ordinati per prezzo di listino dall’alto al basso.,
Utilizzo di SQL Server RANK() la funzione più partizioni esempio
in Questo esempio viene utilizzato il tag RANK()
funzione per assegnare una classifica per ogni prodotto dal prezzo di listino di ogni marca e restituisce prodotti con rango inferiore o uguale a tre:
l’immagine seguente mostra L’output:
In questo esempio:
- Primo
PARTITION BY
clausola suddivide i prodotti in partizioni da Id del brand., - In secondo luogo, la clausola
ORDER BY
ordina i prodotti in ogni partizione in base ai prezzi di listino. - In terzo luogo, la query esterna restituisce i prodotti i cui valori di rango sono inferiori o uguali a tre.
La funzione RANK()
viene applicata a ogni riga di ogni partizione e reinizializzata quando si attraversa il confine della partizione.
In questo tutorial, hai imparato come usare la funzione SQL Server RANK()
per assegnare un rank a ogni riga all’interno di una partizione di un set di risultati.