- 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ā.