Vi è una necessità fondamentale di classificare o classificare vari record quando si lavora con i dati. Ad esempio, potresti classificare i team in base ai loro punteggi, ai dipendenti in base al loro stipendio e molti altri.
La maggior parte di noi esegue calcoli utilizzando funzioni che restituiscono un singolo valore. In questa guida, esploreremo come utilizzare la funzione di classifica SQL Server per restituire un valore aggregato per un gruppo di riga specifico.
Funzione SQL Server Rank (): le basi
La funzione Rank () fa parte delle funzioni della finestra SQL Server. Funziona assegnando un grado a ogni riga per una partizione specifica del set risultante.
La funzione assegna lo stesso valore di rango per le righe all'interno di una partizione simile. Assegna il primo rango, il valore di 1 e aggiunge un valore consecutivo a ciascun grado.
La sintassi per la funzione di rango è come:
classificare (Abbattiamo la sintassi sopra.
La partizione per clausola divide le righe in partizioni specifiche in cui viene applicata la funzione di rango. Ad esempio, in un database contenente i dati dei dipendenti, è possibile partire in base ai dipartimenti in cui lavorano.
La clausola successiva, Ordine di, definisce l'ordine in cui le righe sono organizzate nelle partizioni specificate.
Funzione SQL Server Rank (): utilizzo pratico
Facciamo un esempio pratico per capire come utilizzare la funzione Rank () in SQL Server.
Inizia creando una tabella di esempio contenente informazioni sui dipendenti.
Crea sviluppatori di tabelle (Quindi, aggiungi alcuni dati alla tabella:
Inserisci negli sviluppatori (nome, dipartimento, stipendio)Dovresti avere una tabella con i record come mostrato:
Esempio 1: ordine di
Utilizzare la funzione di rango per assegnare i ranghi ai dati. Una query di esempio è come mostrato:
Seleziona *, rango () su (ordine per dipartimento) come Rank_number dagli sviluppatori;La query sopra dovrebbe dare l'output come mostrato:
L'output sopra mostra che la funzione ha assegnato le righe da dipartimenti simili un valore di rango simile. Si noti che la funzione salta alcuni valori di rango a seconda del numero di valori che hanno lo stesso rango.
Ad esempio, dal grado di 7, la funzione salta al grado 10, poiché il grado 8 e 9 sono assegnati ai due valori consecutivi di grado 7.
Esempio 2: partizione di
Considera l'esempio di seguito. Utilizza la funzione di rango per assegnare un grado agli sviluppatori nello stesso dipartimento.
Seleziona *, rango () su (partizione per ordine del dipartimento per salario desc) come rangle_number dagli sviluppatori;La query sopra inizia partizionando le file secondo i loro dipartimenti. Successivamente, l'Ordine per clausola ordina i record in ogni partizione per stipendio in ordine decrescente.
L'output risultante è come mostrato:
Conclusione
In questa guida, abbiamo trattato come lavorare con la funzione di rango in SQL Server, permettendoti di partire e classificare le righe.
Grazie per aver letto!