logo

SQL ORDENAȚI DUPĂ DATA

  • ORDER BY este o clauză în SQL care este utilizată cu interogarea SELECT pentru a prelua înregistrările în ordine crescătoare sau descrescătoare dintr-un tabel.
  • La fel cum sortăm valorile întregi și șirurile stocate în coloana tabelelor, în mod similar, putem sorta datele stocate în coloana tabelului SQL.
  • Toate înregistrările vor fi, implicit, sortate în ordine crescătoare. Pentru a sorta înregistrările în ordine descrescătoare, se folosește cuvântul cheie DESC.

Să vedem câteva exemple practice pentru a înțelege mai clar acest concept. Vom folosi baza de date MySQL pentru a scrie toate interogările.

Luați în considerare că am creat un tabel numit angajați în baza de date MySQL cu următoarele date:

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

Exemplul 1:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea crescătoare a datei de naștere.

Interogare:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Întrucât am dorit să sortăm înregistrările în ordinea crescătoare a datei de naștere a angajaților, am aplicat clauza ORDER BY pe coloana „DAT”.

Veți obține următoarea ieșire:

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a DOB.

Exemplul 2:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea descrescătoare a datelor de intrare.

Interogare:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Deoarece am dorit să sortăm înregistrările în ordinea descrescătoare a datei de aderare a angajaților, am aplicat clauza ORDER BY cu cuvântul cheie DESC în coloana „Data_Asociere”.

Veți obține următoarea ieșire:

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea descrescătoare a datelor de îmbinare.

Exemplul 3:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea crescătoare a anului de naștere.

Interogare:

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

Deoarece am dorit să sortăm înregistrările în ordinea crescătoare a anului de naștere al angajaților, am aplicat clauza ORDER BY. Funcția DATE_FORMAT () este aplicată pe coloana DOB cu parametrul „%Y” pentru a extrage doar anul din „DOB”.

Veți obține următoarea ieșire:

ID Nume Salariu Joining_Date Anul nașterii
4 Anant Desai 59000 27-08-2018 1978
3 Saurabh Jha 61000 01-05-2015 1983
2 Kunal Mohit 34000 2021-01-01 1990
1 Rohit More 50000 2020-02-08 1991
6 Bhavesh Jain 37000 2021-07-03 1998
5 Krishna Sharma 48000 23-10-2010 1999

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a anului de naștere al salariatului.

Exemplul 4:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea descrescătoare a orei lor de naștere.

Interogare:

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

Deoarece am dorit să sortăm înregistrările în ordinea descrescătoare a orei de naștere a angajaților, am aplicat clauza ORDER BY cu cuvântul cheie DESC. Funcția DATE_FORMAT () este aplicată pe coloana DOB cu parametrul „%H” pentru a extrage doar ora nașterii din coloana „DOB”.

Veți obține următoarea ieșire:

ID Nume Salariu Joining_Date Ora_de_naștere
2 Kunal Mohit 34000 2021-01-01 19
1 Rohit More 50000 2020-02-08 18
4 Anant Desai 59000 27-08-2018 cincisprezece
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 01-05-2015 12
5 Krishna Sharma 48000 23-10-2010 02

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea descrescătoare a orei de naștere a angajatului.

Exemplul 5:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea crescătoare a anului de alăturare.

Interogare:

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

Deoarece am dorit să sortăm înregistrările în ordinea crescătoare a anului de aderare a angajaților, am aplicat clauza ORDER BY. Funcția DATE_FORMAT () este aplicată pe coloana Joining_Date cu parametrul „%Y” pentru a extrage doar anul din „Joining_Date”.

Veți obține următoarea ieșire:

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a anului de intrare a angajaților.

Exemplul 6:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea descrescătoare a zilei de aderare a angajaților.

Interogare:

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

Deoarece am vrut să sortăm înregistrările în ordinea descrescătoare a zilei de alăturare a angajaților, am aplicat clauza ORDER BY cu cuvântul cheie DESC. Funcția DAY () este aplicată pe coloana „Joining_Date” pentru a extrage numai ziua aderării din Joining_Date.

Veți obține următoarea ieșire:

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea descrescătoare a zilei de aderare a angajaților.

Exemplul 7:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordine crescătoare a zilei de naștere a angajaților.

Interogare:

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

Deoarece am dorit să sortăm înregistrările în ordinea crescătoare a zilei de naștere a angajaților, am aplicat clauza ORDER BY. Funcția DAY () este aplicată pe coloana „DOB” pentru a extrage numai ziua nașterii din data de naștere.

Veți obține următoarea ieșire:

ID Nume Salariu Anul_Alăturarea Data nasterii
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 cincisprezece
3 Saurabh Jha 61000 01-05-2015 douăzeci
5 Krishna Sharma 48000 23-10-2010 douăzeci și unu
1 Rohit More 50000 2020-02-08 28
4 Anant Desai 59000 27-08-2018 29

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a zilei de naștere a salariatului.

Exemplul 8:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea crescătoare a lunii de naștere a angajatului.

Interogare:

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

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a lunii de naștere a angajatului.

Exemplul 9:

Scrieți o interogare pentru a afișa toate detaliile angajaților aranjate în ordinea crescătoare a lunii de înscriere a angajatului.

Interogare:

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

Deoarece am vrut să sortăm înregistrările în ordinea crescătoare a lunii de aderare a angajaților, am aplicat clauza ORDER BY. Funcția MONTH () este aplicată pe coloana „Joining_Date” pentru a extrage numai luna aderării din Joining_Date.

Veți obține următoarea ieșire:

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

Rezultatele obținute din interogarea de mai sus arată că înregistrările sunt afișate în ordinea crescătoare a lunii de înscriere a angajatului.