Questo tutorial deve approfondire il modo in cui funziona la funzione densa MySQL e come possiamo usarla in varie operazioni di database. Se si desidera seguire insieme a questo tutorial, considera di scaricare il database di esempio Sakila dalla risorsa fornita di seguito:
https: // dev.mysql.com/doc/indice-altro.html
Uso di base
La funzione mysql dense_rank () visualizza i ranghi di una riga all'interno di una partizione senza lacune. I ranghi delle righe aumentano di un valore di 1 dal valore di rango univoco della riga precedente.
La sintassi generale della funzione Dense_rank () è come:
Seleziona col1 dense_rank () over (partizione di expr ordine di expr [asc | desc]) Rank_col_name da tb_nameEsaminiamo più da vicino la sintassi di query sopra.
La funzione Dense_rank () si lega alla clausola selezionata, che visualizzerà i ranghi delle righe dalla tabella specificata.
Il dense_rank () su sezioni restituisce il risultato della funzione dense_rank () e l'output mantenuto nel nome della colonna specificato.
La partizione per clausola divide i risultati restituiti dalla clausola da partizioni. La funzione Dense_rank () viene applicata a ciascuna partizione.
Infine, l'ordine per sezione specifica l'ordine delle righe set in ciascuna partizione.
Esempio di utilizzo
Usiamo un database di esempio per illustrare come possiamo usare la funzione Dense_rank (). Per questo esempio, useremo il database Sakila e, più specificamente, la tabella del film nel database Sakila.
Usando la funzione Dense_Rank (), possiamo classificare i film per il loro tasso di noleggio, come mostrato nella query seguente:
Usa Sakila;A causa dell'enorme quantità di dati nel database Sakila, riorganizzerò l'output per una lettura e illustrazione più facili.
L'output è sotto:
Se guardi attentamente l'output sopra, noterai che il risultato risultante varia dal grado da 1 a 3, che corrisponde ai valori di Rental_Rate nella tabella del film. I valori RENTAL_RATE sono:
Nell'esempio sopra, abbiamo usato la partizione per clausola per dividere gli insiemi risultanti in varie partizioni, in questo caso, rilascio_year.
Successivamente, abbiamo usato l'ordine MySQL mediante l'istruzione per ordinare i film in base al tasso di noleggio in ordine crescente. Infine, abbiamo applicato la funzione Dense_Rank () su ciascuna partizione specificata nell'istruzione Ordine per istruzione.
Conclusione
In questo tutorial, abbiamo spiegato come funziona la funzione Dense_rank () in un database e abbiamo usato un esempio del mondo reale per illustrare come usarlo.
Puoi saperne di più su Dense_rank () e altre funzioni della finestra dalla risorsa fornita di seguito:
https: // dev.mysql.com/doc/refman/8.0/en/finestra-funzioni.html