logo

SQL KĀRTĪBA PĒC DATUMA

  • ORDER BY ir SQL klauzula, kas tiek izmantota kopā ar vaicājumu SELECT, lai no tabulas iegūtu ierakstus augošā vai dilstošā secībā.
  • Tāpat kā mēs kārtojam tabulu kolonnā saglabātos veselos skaitļus un virknes vērtības, tāpat mēs varam kārtot SQL tabulas kolonnā saglabātos datumus.
  • Visi ieraksti pēc noklusējuma tiks sakārtoti augošā secībā. Lai kārtotu ierakstus dilstošā secībā, tiek izmantots DESC atslēgvārds.

Apskatīsim dažus praktiskus piemērus, lai skaidrāk saprastu šo jēdzienu. Visu vaicājumu rakstīšanai izmantosim MySQL datu bāzi.

Apsveriet, ka MySQL datubāzē esam izveidojuši tabulu, kas nosaukta par darbiniekiem ar šādiem datiem:

ID Vārds Alga Pievienošanās_datums DOB
1 Rohits More 50 000 2020-02-08 1991-01-28 18:06:08
2 Kunāls Mohits 34 000 2021-01-01 1990-05-15 19:10:00
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
4 Anants Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krišna Šarma 48 000 2010-10-23 1999-03-21 02:14:56
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01

1. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc viņu dzimšanas datuma.

Vaicājums:

konvertēt datumu uz virkni
 mysql> SELECT *FROM employees ORDER BY DOB; 

Tā kā ierakstus vēlējāmies kārtot augošā secībā pēc darbinieku dzimšanas datuma, tad ailē 'DOB' esam piemērojuši punktu ORDER BY.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_datums DOB
4 Anants Desai 59 000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
2 Kunāls Mohits 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohits More 50 000 2020-02-08 1991-01-28 18:06:08
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
5 Krišna Šarma 48 000 2010-10-23 1999-03-21 02:14:56

Iepriekš minētā vaicājuma rezultāti parāda, ka ieraksti tiek parādīti DOB augošā secībā.

2. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti dilstošā secībā pēc viņu pievienošanās datumiem.

Vaicājums:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Tā kā ierakstus vēlējāmies kārtot dilstošā secībā pēc darbinieku pievienošanās datuma, tad ailē 'Joining_Date' esam piemērojuši klauzulu ORDER BY ar atslēgvārdu DESC.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_datums DOB
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
2 Kunāls Mohits 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohits More 50 000 2020-02-08 1991-01-28 18:06:08
4 Anants Desai 59 000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
5 Krišna Šarma 48 000 2010-10-23 1999-03-21 02:14:56

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti pievienošanās datumu dilstošā secībā.

3. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc viņu dzimšanas gada.

Vaicājums:

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

Tā kā ierakstus vēlējāmies kārtot darbinieku dzimšanas gada augošā secībā, tad esam piemērojuši punktu ORDER BY. Funkcija DATE_FORMAT () tiek lietota kolonnā DOB ar parametru '%Y', lai no 'DOB' iegūtu tikai gadu.

Jūs saņemsiet šādu izvadi:

c++ int uz virkni
ID Vārds Alga Pievienošanās_datums Dzimšanas gads
4 Anants Desai 59 000 2018-08-27 1978. gads
3 Saurabh Jha 61 000 2015-05-01 1983. gads
2 Kunāls Mohits 34 000 2021-01-01 1990. gads
1 Rohits More 50 000 2020-02-08 1991. gads
6 Bhavesh Jain 37 000 2021-07-03 1998. gads
5 Krišna Šarma 48 000 2010-10-23 1999. gads

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti darbinieka dzimšanas gada augošā secībā.

4. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti dilstošā secībā pēc viņu dzimšanas stundas.

Vaicājums:

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

Tā kā ierakstus vēlējāmies sakārtot darbinieku dzimšanas stundu dilstošā secībā, tad esam pielietojuši ORDER BY klauzulu ar atslēgvārdu DESC. Funkcija DATE_FORMAT () tiek lietota kolonnā DOB ar parametru '%H', lai no kolonnas 'DOB' iegūtu tikai dzimšanas stundu.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_datums Dzimšanas_stunda
2 Kunāls Mohits 34 000 2021-01-01 19
1 Rohits More 50 000 2020-02-08 18
4 Anants Desai 59 000 2018-08-27 piecpadsmit
6 Bhavesh Jain 37 000 2021-07-03 13
3 Saurabh Jha 61 000 2015-05-01 12
5 Krišna Šarma 48 000 2010-10-23 02

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti dilstošā secībā pēc darbinieka dzimšanas stundas.

5. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc viņu pievienošanās gada.

Vaicājums:

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

Tā kā ierakstus vēlējāmies kārtot darbinieku iestāšanās gada augošā secībā, tad esam piemērojuši punktu ORDER BY. Funkcija DATE_FORMAT () tiek lietota kolonnā Joining_Date ar parametru '%Y', lai no 'Joining_Date' iegūtu tikai gadu.

java parseint

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_gads DOB
5 Krišna Šarma 48 000 2010. gads 1999-03-21 02:14:56
3 Saurabh Jha 61 000 2015. gads 1983-02-20 12:18:45
4 Anants Desai 59 000 2018. gads 1978-06-29 15:45:13
1 Rohits More 50 000 2020. gads 1991-01-28 18:06:08
2 Kunāls Mohits 34 000 2021. gads 1990-05-15 19:10:00
6 Bhavesh Jain 37 000 2021. gads 1998-08-02 13:00:01

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti darbinieku iestāšanās gada augošā secībā.

6. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti dilstošā secībā pēc darbinieku pievienošanās dienas.

Vaicājums:

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

Tā kā ierakstus vēlējāmies kārtot darbinieku pievienošanās dienas dilstošā secībā, tad esam pielietojuši punktu ORDER BY ar atslēgvārdu DESC. DIENA () funkcija tiek lietota kolonnā 'Joining_Date', lai no Joining_Date izvilktu tikai pievienošanās dienu.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Diena_Of_Joining DOB
4 Anants Desai 59 000 27 1978-06-29 15:45:13
5 Krišna Šarma 48 000 23 1999-03-21 02:14:56
1 Rohits More 50 000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37 000 3 1998-08-02 13:00:01
2 Kunāls Mohits 34 000 1 1990-05-15 19:10:00
3 Saurabh Jha 61 000 1 1983-02-20 12:18:45

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti darbinieku pievienošanās dienas dilstošā secībā.

7. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc darbinieku dzimšanas dienas.

java klases diagramma

Vaicājums:

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

Tā kā ierakstus vēlējāmies kārtot darbinieku dzimšanas dienas augošā secībā, tad esam piemērojuši punktu ORDER BY. Funkcija DAY () tiek lietota kolonnā “DOB”, lai no DOB ​​iegūtu tikai dzimšanas dienu.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_gads Dzimšanas_diena
6 Bhavesh Jain 37 000 2021-07-03 2
2 Kunāls Mohits 34 000 2021-01-01 piecpadsmit
3 Saurabh Jha 61 000 2015-05-01 divdesmit
5 Krišna Šarma 48 000 2010-10-23 divdesmitviens
1 Rohits More 50 000 2020-02-08 28
4 Anants Desai 59 000 2018-08-27 29

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti augošā secībā pēc darbinieka dzimšanas dienas.

8. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc darbinieka dzimšanas mēneša.

Vaicājums:

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

ID Vārds Alga Pievienošanās_datums DOB
1 Rohits More 50 000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
5 Krišna Šarma 48 000 2010-10-23 1999-03-21 02:14:56
2 Kunāls Mohits 34 000 2021-01-01 1990-05-15 19:10:00
4 Anants Desai 59 000 2018-08-27 1978-06-29 15:45:13
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti darbinieka dzimšanas mēneša augošā secībā.

9. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju par darbiniekiem, kas sakārtoti augošā secībā pēc darbinieka pievienošanās mēneša.

Vaicājums:

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

Tā kā ierakstus vēlējāmies kārtot darbinieku iestāšanās mēneša augošā secībā, tad esam piemērojuši punktu ORDER BY. MONTH () funkcija tiek lietota kolonnā 'Joining_Date', lai no Joining_Date izvilktu tikai pievienošanās mēnesi.

Jūs saņemsiet šādu izvadi:

ID Vārds Alga Pievienošanās_datums DOB
2 Kunāls Mohits 34 000 2021-01-01 1990-05-15 19:10:00
1 Rohits More 50 000 2020-02-08 1991-01-28 18:06:08
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
4 Anants Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krišna Šarma 48 000 2010-10-23 1999-03-21 02:14:56

Iepriekš minētā vaicājuma rezultāti liecina, ka ieraksti tiek parādīti darbinieka pievienošanās mēneša augošā secībā.