logo

ORDINE SQL PER DATA

  • ORDER BY è una clausola in SQL che viene utilizzata con la query SELECT per recuperare i record in ordine crescente o decrescente da una tabella.
  • Proprio come ordiniamo i valori interi e stringa memorizzati nella colonna delle tabelle, allo stesso modo possiamo ordinare le date memorizzate nella colonna della tabella SQL.
  • Tutti i record verranno, per impostazione predefinita, ordinati in ordine crescente. Per ordinare i record in ordine decrescente, viene utilizzata la parola chiave DESC.

Vediamo alcuni esempi pratici per comprendere più chiaramente questo concetto. Utilizzeremo il database MySQL per scrivere tutte le query.

Considera di aver creato una tabella denominata dipendenti nel database MySQL con i seguenti dati:

ID Nome Stipendio Data_iscrizione DOB
1 Rohit di più 50000 2020-02-08 28/01/1991 18:06:08
2 Kunal Mohit 34000 2021-01-01 15/05/1990 19:10:00
3 Saurabh Jha 61000 2015-05-01 20/02/1983 12:18:45
4 Anant Desai 59000 27-08-2018 29/06/1978 15:45:13
5 Krishna Sharma 48000 23-10-2010 21/03/1999 02:14:56
6 Bhavesh Jain 37000 2021-07-03 02-08-1998 13:00:01

Esempio 1:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base alla data di nascita.

Domanda:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Poiché volevamo ordinare i record in ordine crescente rispetto alla data di nascita dei dipendenti, abbiamo applicato la clausola ORDER BY sulla colonna 'DOB'.

Otterrai il seguente output:

ID Nome Stipendio Data_iscrizione DOB
4 Anant Desai 59000 27-08-2018 29/06/1978 15:45:13
3 Saurabh Jha 61000 2015-05-01 20/02/1983 12:18:45
2 Kunal Mohit 34000 2021-01-01 15/05/1990 19:10:00
1 Rohit di più 50000 2020-02-08 28/01/1991 18:06:08
6 Bhavesh Jain 37000 2021-07-03 02-08-1998 13:00:01
5 Krishna Sharma 48000 23-10-2010 21/03/1999 02:14:56

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati secondo l'ordine crescente del DOB.

Esempio 2:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine decrescente in base alle date di assunzione.

Domanda:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Poiché volevamo ordinare i record in ordine decrescente in base alla data di assunzione dei dipendenti, abbiamo applicato la clausola ORDER BY con la parola chiave DESC nella colonna 'Joining_Date'.

Otterrai il seguente output:

elenco comparabile
ID Nome Stipendio Data_iscrizione DOB
6 Bhavesh Jain 37000 2021-07-03 02-08-1998 13:00:01
2 Kunal Mohit 34000 2021-01-01 15/05/1990 19:10:00
1 Rohit di più 50000 2020-02-08 28/01/1991 18:06:08
4 Anant Desai 59000 27-08-2018 29/06/1978 15:45:13
3 Saurabh Jha 61000 2015-05-01 20/02/1983 12:18:45
5 Krishna Sharma 48000 23-10-2010 21/03/1999 02:14:56

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati secondo l'ordine decrescente delle date di unione.

Esempio 3:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base all'anno di nascita.

Domanda:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y'); 

Poiché volevamo ordinare i record in ordine crescente in base all'anno di nascita dei dipendenti, abbiamo applicato la clausola ORDER BY. La funzione DATE_FORMAT () viene applicata alla colonna DOB con il parametro '%Y' per estrarre solo l'anno da 'DOB'.

Otterrai il seguente output:

ID Nome Stipendio Data_iscrizione Anno di nascita
4 Anant Desai 59000 27-08-2018 1978
3 Saurabh Jha 61000 2015-05-01 1983
2 Kunal Mohit 34000 2021-01-01 1990
1 Rohit di più 50000 2020-02-08 1991
6 Bhavesh Jain 37000 2021-07-03 1998
5 Krishna Sharma 48000 23-10-2010 1999

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati in base all'ordine crescente dell'anno di nascita del dipendente.

Esempio 4:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine decrescente in base all'ora di nascita.

lista stringa java

Domanda:

 mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC; 

Poiché volevamo ordinare i record in ordine decrescente in base all'ora di nascita dei dipendenti, abbiamo applicato la clausola ORDER BY con la parola chiave DESC. La funzione DATE_FORMAT () viene applicata sulla colonna DOB con il parametro '%H' per estrarre solo l'ora di nascita dalla colonna'DOB'.

Otterrai il seguente output:

ID Nome Stipendio Data_iscrizione Ora_di_nascita
2 Kunal Mohit 34000 2021-01-01 19
1 Rohit di più 50000 2020-02-08 18
4 Anant Desai 59000 27-08-2018 quindici
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 48000 23-10-2010 02

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati in base all'ordine decrescente dell'ora di nascita del dipendente.

Esempio 5:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base all'anno di assunzione.

Domanda:

 mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y'); 

Poiché volevamo ordinare i record in ordine crescente in base all'anno di assunzione dei dipendenti, abbiamo applicato la clausola ORDER BY. La funzione DATE_FORMAT () viene applicata alla colonna Joining_Date con il parametro '%Y' per estrarre solo l'anno da 'Joining_Date'.

Otterrai il seguente output:

ID Nome Stipendio Anno_di_adesione DOB
5 Krishna Sharma 48000 2010 21/03/1999 02:14:56
3 Saurabh Jha 61000 2015 20/02/1983 12:18:45
4 Anant Desai 59000 2018 29/06/1978 15:45:13
1 Rohit di più 50000 2020 28/01/1991 18:06:08
2 Kunal Mohit 34000 2021 15/05/1990 19:10:00
6 Bhavesh Jain 37000 2021 02-08-1998 13:00:01

I risultati ottenuti dalla query di cui sopra mostrano che i record vengono visualizzati in base all'ordine crescente dell'anno di assunzione dei dipendenti.

Esempio 6:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine decrescente in base al giorno di assunzione dei dipendenti.

Domanda:

 mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC; 

Poiché volevamo ordinare i record in ordine decrescente in base al giorno di assunzione dei dipendenti, abbiamo applicato la clausola ORDER BY con la parola chiave DESC. La funzione DAY () viene applicata alla colonna 'Joining_Date' per estrarre solo il giorno dell'adesione da Joining_Date.

Otterrai il seguente output:

ID Nome Stipendio Giorno_di_partecipazione DOB
4 Anant Desai 59000 27 29/06/1978 15:45:13
5 Krishna Sharma 48000 23 21/03/1999 02:14:56
1 Rohit di più 50000 8 28/01/1991 18:06:08
6 Bhavesh Jain 37000 3 02-08-1998 13:00:01
2 Kunal Mohit 34000 1 15/05/1990 19:10:00
3 Saurabh Jha 61000 1 20/02/1983 12:18:45

I risultati ottenuti dalla query di cui sopra mostrano che i record vengono visualizzati in base all'ordine decrescente del giorno di assunzione dei dipendenti.

Esempio 7:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base al giorno di nascita dei dipendenti.

Domanda:

 mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB); 

Poiché volevamo ordinare i record in ordine crescente in base al giorno di nascita dei dipendenti, abbiamo applicato la clausola ORDER BY. La funzione DAY () viene applicata alla colonna 'DOB' per estrarre solo il giorno di nascita dal DOB.

Otterrai il seguente output:

ID Nome Stipendio Anno_di_adesione Giorno di nascita
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 quindici
3 Saurabh Jha 61000 2015-05-01 venti
5 Krishna Sharma 48000 23-10-2010 ventuno
1 Rohit di più 50000 2020-02-08 28
4 Anant Desai 59000 27-08-2018 29

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati in base all'ordine crescente del giorno di nascita del dipendente.

Esempio 8:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base al mese di nascita del dipendente.

Domanda:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB); 

ID Nome Stipendio Data_iscrizione DOB
1 Rohit di più 50000 2020-02-08 28/01/1991 18:06:08
3 Saurabh Jha 61000 2015-05-01 20/02/1983 12:18:45
5 Krishna Sharma 48000 23-10-2010 21/03/1999 02:14:56
2 Kunal Mohit 34000 2021-01-01 15/05/1990 19:10:00
4 Anant Desai 59000 27-08-2018 29/06/1978 15:45:13
6 Bhavesh Jain 37000 2021-07-03 02-08-1998 13:00:01

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati in base all'ordine crescente del mese di nascita del dipendente.

c array di stringhe

Esempio 9:

Scrivi una query per visualizzare tutti i dettagli dei dipendenti disposti in ordine crescente in base al mese di assunzione del dipendente.

Domanda:

 mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date); 

Poiché volevamo ordinare i record in ordine crescente in base al mese di assunzione dei dipendenti, abbiamo applicato la clausola ORDER BY. La funzione MONTH () viene applicata alla colonna 'Joining_Date' per estrarre solo il mese di adesione da Joining_Date.

Otterrai il seguente output:

ID Nome Stipendio Data_iscrizione DOB
2 Kunal Mohit 34000 2021-01-01 15/05/1990 19:10:00
1 Rohit di più 50000 2020-02-08 28/01/1991 18:06:08
3 Saurabh Jha 61000 2015-05-01 20/02/1983 12:18:45
6 Bhavesh Jain 37000 2021-07-03 02-08-1998 13:00:01
4 Anant Desai 59000 27-08-2018 29/06/1978 15:45:13
5 Krishna Sharma 48000 23-10-2010 21/03/1999 02:14:56

I risultati ottenuti dalla query precedente mostrano che i record vengono visualizzati in base all'ordine crescente del mese di assunzione del dipendente.