SQL Classifica

SQL Classifica
La classifica in SQL consente di calcolare il grado di ciascun record all'interno di una partizione all'interno di un set di risultati.

Il rango () restituirà un indice basato su 1 per ciascun record in una partizione ordinata in SQL standard. Ricorda che la funzione assegnerà lo stesso valore di rango alle partizioni con valori simili.

Il numero di valori di rango precedente aumenta ogni conseguente valore di riga di riga. Se si desidera aumentare il valore di rango di 1, utilizzare la funzione Dense_rank ().

Sintassi della funzione Rank ()

La sintassi per la funzione di rango è come mostrato di seguito:

Rank () su (
[Partizione per espressione,]
Ordine per espressione (asc | desc));
);

Per illustrare come utilizzare questa funzione, considera l'esempio seguente:

Crea utenti di tabelle (
Chiave primaria seriale ID,
first_name varchar (100),
last_name varchar (100),
State Varchar (25),
Bool attivo
);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Mary', 'Smith', 'New York', vero);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Linda', 'Williams', 'Colorado', false);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Taylor', 'Moore', 'Utah', vero);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Susan', 'Wilson', 'Washington', vero);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Mary', 'Smith', 'New York', vero);
Inserisci in utenti (first_name, last_name, stato, attivo) valori (
'Taylor', 'Moore', 'Utah', vero);

Le query di cui sopra creano e inseriscono i dati di esempio nella tabella.

Per assegnare un grado ai record nel set di risultati, possiamo utilizzare la funzione Rank () come illustrato di seguito.

Seleziona ID, first_name, last_name, stato, attivo,
Rank () su (partizione per ordine attivo per id) Rank_Value
dagli utenti;

Nella query sopra, partizioniamo i dati per colonna attiva. La colonna contiene valori booleani. Quindi classifichiamo su ogni elemento nelle partizioni.

Il set risultante è come mostrato:

Si noti che il risultato contiene due partizioni, una contenente valori falsi e l'altro contenente valori reali.

Nella partizione "False", la funzione assegna i valori di rango. Lo stesso caso per la "vera" partizione. Si noti che la funzione avvia il valore di rango da 1 in una nuova partizione.

Chiusura

Questo tutorial ti ha mostrato come eseguire la classifica delle righe mediante il partizionamento usando la funzione Rank (). Controlla la documentazione per il tuo motore di database per saperne di più.

Grazie per aver letto!!