Come ordinare i dati di una tabella SQL
Sei a conoscenza di come estrapolare i dati da una tabella all’interno di un database tramite il comando SELECT, sai come filtrarli tramite il comando WHERE ma adesso hai necessità di ordinare i dati in base ad alcuni parametri, ad esempio ordine alfabetico, ordine per data di nascita ascendente o discendente che sia. Come è possibile? Tramite il comando ORDER BY
ORDER BY, accetta infiniti parametri di ordinamento. Ad esempio se io volessi sia ordinare per data che per nome, devo indicare il nome delle colonne nelle quali sono contenuti questi due dati e separarle tramite la virgola (,).
Successivamente ai parametri possiamo indicare il tipo di ordinamento da effettuare ascendente tramite ASC e discendente tramite DESC, tuttavia, l’ordinamento di base segue la logica ascendente quindi non sarà necessario indicare ASC successivamente alle colonne indicate.
Supponiamo di la seguente anagrafica degli utenti del nostro sito:
ID | Nome | Cognome | Indirizzo | Località | CAP | Telefono | Nascita |
1 | Alvisio | Manfrin | Piazza Bovio, 12 | Monteorsello | 41052 | 03530765509 | 15/07/2021 |
2 | Pietro | De Luca | Via Santa Teresa degli Scalzi, 20 | Montelepre | 90040 | 03485405361 | 29/07/1982 |
3 | Brigida | Genovese | Via Lombardi, 17 | Piario | 24020 | 03382627940 | 07/07/1988 |
4 | Salvo | Buccho | Via Torricelli, 31 | Lases | 38040 | 03307380428 | 16/05/1980 |
5 | Orlando | Trevisan | Via Gaetano Donizetti, 91 | Bussolengo | 37012 | 03629829948 | 21/08/1981 |
Avendo esclusivamente cinque elementi sarebbe molto semplice comprendere chi sia nato prima o dopo all’interno della nostra grafica, ma se avessimo l’intera lista degli utenti di Amazon per comprendere chi sia il più anziano o il più giovane avremmo necessità di ordinare i dati in base alla colonna Nascita.
Per poter ordinare la tabella per conoscere quale sia l’utente più anziano ad essersi registrato avremmo necessità di eseguire la seguente query:
SELECT * FROM ANAGRAFICA ORDER BY Nascita
Nel caso volessimo ordinare gli utenti in ordine alfabetico per cognome e per nome dovremmo eseguire la seguente query
SELECT * FROM ANAGRAFICA ORDER BY Nome, Cognome
Inoltre, potremmo combinare in modo ascendente e discendente le diverse colonne per le quali ordiniamo del tipo:
SELECT * FROM ANAGRAFICA ORDER BY Nome desc, Cognome asc
LINK UTILI
Pagina Instagram: https://www.instagram.com/developer_sumo/
I nostri corsi: https://www.developersumo.com/corsi/
Corso SQL: https://www.developersumo.com/sql/
Scopri le nostre App su Google Play: https://play.google.com/store/apps/details?id=com.developersumo.app