logo

SQL POREDAK PO DATUMU

  • ORDER BY je klauzula u SQL-u koja se koristi s SELECT upitom za dohvaćanje zapisa u uzlaznom ili silaznom redoslijedu iz tablice.
  • Baš kao što sortiramo vrijednosti cijelog broja i niza pohranjene u stupcu tablice, na sličan način možemo sortirati datume pohranjene u stupcu SQL tablice.
  • Svi će zapisi prema zadanim postavkama biti poredani uzlaznim redoslijedom. Za sortiranje zapisa u silaznom redoslijedu koristi se ključna riječ DESC.

Pogledajmo nekoliko praktičnih primjera kako bismo jasnije razumjeli ovaj koncept. Za pisanje svih upita koristit ćemo MySQL bazu podataka.

Uzmimo u obzir da smo stvorili tablicu pod nazivom zaposlenici u MySQL bazi podataka sa sljedećim podacima:

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

Primjer 1:

Napišite upit za prikaz svih detalja zaposlenika poredanih uzlaznim redoslijedom prema datumu rođenja.

Upit:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Budući da smo zapise željeli poredati uzlaznim redoslijedom datuma rođenja zaposlenika, primijenili smo klauzulu ORDER BY na stupac 'DOB'.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Datum pridruženja DOB
4 Anant Desai 59000 2018-08-27 1978-06-29 15:45:13
3 Saurabh Jha 61000 2015-05-01 1983-02-20 12:18:45
2 Kunal Mohit 34000 2021-01-01 1990-05-15 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 2010-10-23 1999-03-21 02:14:56

Rezultati dobiveni iz gornjeg upita pokazuju da su zapisi prikazani prema uzlaznom redoslijedu DOB-a.

Primjer 2:

Napišite upit za prikaz svih pojedinosti o zaposlenicima poredanim silaznim redoslijedom prema datumima pridruživanja.

dvostruko u Javi

Upit:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Budući da smo željeli sortirati zapise prema silaznom redoslijedu datuma pridruživanja zaposlenika, primijenili smo klauzulu ORDER BY s ključnom riječi DESC na stupac 'Joining_Date'.

Dobit ćete sljedeći izlaz:

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

Rezultati dobiveni iz gornjeg upita pokazuju da su zapisi prikazani prema silaznom redoslijedu datuma spajanja.

Primjer 3:

ukloniti zadnji znak iz niza

Napišite upit za prikaz svih podataka o zaposlenicima poredanim uzlaznim redoslijedom njihove godine rođenja.

Upit:

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

Budući da smo zapise željeli sortirati prema uzlaznom redoslijedu godine rođenja zaposlenika, primijenili smo klauzulu ORDER BY. Funkcija DATE_FORMAT () primjenjuje se na stupac DOB s parametrom '%Y' za izdvajanje samo godine iz 'DOB'.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Datum pridruženja Godina rođenja
4 Anant Desai 59000 2018-08-27 1978. godine
3 Saurabh Jha 61000 2015-05-01 1983. godine
2 Kunal Mohit 34000 2021-01-01 1990. godine
1 Rohit More 50000 2020-02-08 1991. godine
6 Bhavesh Jain 37000 2021-07-03 1998. godine
5 Krishna Sharma 48000 2010-10-23 1999. godine

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema uzlaznom redoslijedu godine rođenja zaposlenika.

Primjer 4:

Napišite upit za prikaz svih detalja zaposlenika poredanih silaznim redoslijedom prema satu rođenja.

Upit:

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

Budući da smo željeli sortirati zapise prema silaznom redoslijedu sati rođenja zaposlenika, primijenili smo klauzulu ORDER BY s ključnom riječi DESC. Funkcija DATE_FORMAT () primjenjuje se na stupac DOB s parametrom '%H' kako bi se izdvojio samo sat rođenja iz stupca 'DOB'.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Datum pridruženja Sat_Rođenja
2 Kunal Mohit 34000 2021-01-01 19
1 Rohit More 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 petnaest
6 Bhavesh Jain 37000 2021-07-03 13
3 Saurabh Jha 61000 2015-05-01 12
5 Krishna Sharma 48000 2010-10-23 02

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema silaznom redoslijedu sata rođenja zaposlenika.

Primjer 5:

Napišite upit za prikaz svih detalja zaposlenika poredanih uzlaznim redoslijedom prema godini pridruživanja.

Upit:

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

Budući da smo željeli sortirati zapise prema rastućem redoslijedu godine pridruživanja zaposlenika, primijenili smo klauzulu ORDER BY. Funkcija DATE_FORMAT () primjenjuje se na stupac Joining_Date s parametrom '%Y' za izdvajanje samo godine iz 'Joining_Date'.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Godina_pridruživanja 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 1990-05-15 19:10:00
6 Bhavesh Jain 37000 2021 1998-08-02 13:00:01

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema uzlaznom redoslijedu godine pridruživanja zaposlenika.

Primjer 6:

Napišite upit za prikaz svih detalja zaposlenika poredanih silaznim redoslijedom prema danu pridruživanja zaposlenika.

Upit:

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

Budući da smo željeli sortirati zapise prema silaznom redoslijedu dana pridruživanja zaposlenika, primijenili smo klauzulu ORDER BY s ključnom riječi DESC. Funkcija DAY () primjenjuje se na stupac 'Joining_Date' kako bi se izdvojio samo dan pridruživanja iz Joining_Date.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Dan_pridruživanja 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 1990-05-15 19:10:00
3 Saurabh Jha 61000 1 1983-02-20 12:18:45

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema silaznom redoslijedu dana pridruživanja zaposlenika.

Primjer 7:

java string charat

Napišite upit za prikaz svih detalja zaposlenika poredanih uzlaznim redoslijedom datuma rođenja zaposlenika.

Upit:

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

Budući da smo zapise željeli poredati uzlaznim redoslijedom prema datumu rođenja zaposlenika, primijenili smo klauzulu ORDER BY. Funkcija DAY () primjenjuje se na stupac 'DOB' kako bi se iz DOB-a izdvojio samo dan rođenja.

Dobit ćete sljedeći izlaz:

iskaznica Ime Plaća Godina_pridruživanja Dan rođenja
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 petnaest
3 Saurabh Jha 61000 2015-05-01 dvadeset
5 Krishna Sharma 48000 2010-10-23 dvadeset i jedan
1 Rohit More 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema uzlaznom redoslijedu dana rođenja zaposlenika.

Primjer 8:

Napišite upit za prikaz svih detalja zaposlenika poredanih uzlaznim redoslijedom prema mjesecu rođenja zaposlenika.

Upit:

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

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

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema uzlaznom redoslijedu mjeseca rođenja zaposlenika.

Primjer 9:

sinkronizacija niti

Napišite upit za prikaz svih detalja zaposlenika poredanih uzlaznim redoslijedom prema mjesecu zaposlenja zaposlenika.

Upit:

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

Budući da smo željeli sortirati zapise prema rastućem redoslijedu pridruženog mjeseca zaposlenika, primijenili smo klauzulu ORDER BY. Funkcija MONTH () primjenjuje se na stupac 'Joining_Date' za izdvajanje samo mjeseca pridruživanja iz Joining_Date.

Dobit ćete sljedeći izlaz:

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

Rezultati dobiveni iz gornjeg upita pokazuju da se zapisi prikazuju prema uzlaznom redoslijedu prema mjesecu zaposlenja zaposlenika.