logo

SQL ORDER PO DATUMU

  • ORDER BY je klavzula v SQL, ki se uporablja s poizvedbo SELECT za pridobivanje zapisov v naraščajočem ali padajočem vrstnem redu iz tabele.
  • Tako kot razvrščamo vrednosti celih števil in nizov, shranjene v stolpcu tabel, lahko podobno razvrščamo datume, shranjene v stolpcu tabele SQL.
  • Vsi zapisi bodo privzeto razvrščeni v naraščajočem vrstnem redu. Za razvrščanje zapisov v padajočem vrstnem redu se uporablja ključna beseda DESC.

Oglejmo si nekaj praktičnih primerov, da bomo ta koncept bolj jasno razumeli. Za pisanje vseh poizvedb bomo uporabili bazo MySQL.

Recimo, da smo v bazi podatkov MySQL ustvarili tabelo z imenom zaposlenih z naslednjimi podatki:

ID Ime Plača Datum_pridružitve 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

Primer 1:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na datum rojstva.

poizvedba:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Ker smo želeli zapise razvrstiti po naraščajočem vrstnem redu datuma rojstva zaposlenih, smo na stolpcu 'DOB' uporabili klavzulo ORDER BY.

Dobili boste naslednje rezultate:

ID Ime Plača Datum_pridružitve 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, pridobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po naraščajočem vrstnem redu DOB.

pretvorba int v niz v Javi

Primer 2:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v padajočem vrstnem redu glede na datume njihove zaposlitve.

poizvedba:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Ker smo želeli razvrstiti zapise po padajočem vrstnem redu datuma pridružitve zaposlenih, smo uporabili klavzulo ORDER BY s ključno besedo DESC v stolpcu 'Joining_Date'.

Dobili boste naslednje rezultate:

ID Ime Plača Datum_pridružitve 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, pridobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po padajočem vrstnem redu datumov pridružitve.

zamenjava java niza

Primer 3:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na njihovo leto rojstva.

poizvedba:

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

Ker smo želeli zapise razvrstiti po naraščajočem vrstnem redu letnice rojstva zaposlenih, smo uporabili klavzulo ORDER BY. Funkcija DATE_FORMAT () je uporabljena v stolpcu DOB s parametrom '%Y', da izvleče samo leto iz 'DOB'.

Dobili boste naslednje rezultate:

ID Ime Plača Datum_pridružitve Leto rojstva
4 Anant Desai 59000 2018-08-27 1978
3 Saurabh Jha 61000 2015-05-01 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 2010-10-23 1999

Rezultati, dobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po naraščajočem vrstnem redu leta rojstva zaposlenega.

Primer 4:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v padajočem vrstnem redu glede na uro rojstva.

poizvedba:

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

Ker smo želeli zapise razvrstiti po padajočem vrstnem redu rojstne ure zaposlenih, smo uporabili klavzulo ORDER BY s ključno besedo DESC. Funkcija DATE_FORMAT () je uporabljena v stolpcu DOB s parametrom '%H', da iz stolpca 'DOB' izvleče samo uro rojstva.

Dobili boste naslednje rezultate:

ID Ime Plača Datum_pridružitve Ura_rojstva
2 Kunal Mohit 34000 2021-01-01 19
1 Rohit More 50000 2020-02-08 18
4 Anant Desai 59000 2018-08-27 petnajst
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, pridobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po padajočem vrstnem redu rojstvene ure zaposlenega.

Primer 5:

Napišite poizvedbo za prikaz vseh podrobnosti o zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na njihovo leto pridružitve.

poizvedba:

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

Ker smo želeli zapise razvrstiti po naraščajočem vrstnem redu včlanjenega leta zaposlenih, smo uporabili klavzulo ORDER BY. Funkcija DATE_FORMAT () je uporabljena v stolpcu Joining_Date s parametrom '%Y', da izvleče samo leto iz 'Joining_Date'.

Dobili boste naslednje rezultate:

ID Ime Plača Leto_pridružitve 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, pridobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po naraščajočem vrstnem redu pristopnega leta zaposlenih.

Primer 6:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih po padajočem vrstnem redu glede na dan pridružitve zaposlenih.

poizvedba:

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

Ker smo želeli zapise razvrstiti po padajočem vrstnem redu dneva pridružitve zaposlenih, smo uporabili klavzulo ORDER BY s ključno besedo DESC. Funkcija DAY () je uporabljena v stolpcu 'Joining_Date', da iz Joining_Date izvleče samo dan pridružitve.

Dobili boste naslednje rezultate:

ID Ime Plača Dan_pridružitve 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, dobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po padajočem vrstnem redu dneva pridružitve zaposlenih.

gumb tkinter

Primer 7:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na rojstni dan zaposlenih.

poizvedba:

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

Ker smo želeli zapise razvrstiti po naraščajočem vrstnem redu dneva rojstva zaposlenih, smo uporabili klavzulo ORDER BY. Funkcija DAY () je uporabljena v stolpcu 'DOB', da iz DOB izvleče samo dan rojstva.

Dobili boste naslednje rezultate:

ID Ime Plača Leto_pridružitve Dan_rojstva
6 Bhavesh Jain 37000 2021-07-03 2
2 Kunal Mohit 34000 2021-01-01 petnajst
3 Saurabh Jha 61000 2015-05-01 dvajset
5 Krishna Sharma 48000 2010-10-23 enaindvajset
1 Rohit More 50000 2020-02-08 28
4 Anant Desai 59000 2018-08-27 29

Rezultati, dobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po naraščajočem vrstnem redu dneva rojstva zaposlenega.

Primer 8:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na mesec rojstva zaposlenega.

poizvedba:

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

ID Ime Plača Datum_pridružitve 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, pridobljeni z zgornjo poizvedbo, kažejo, da so zapisi prikazani po naraščajočem vrstnem redu meseca rojstva zaposlenega.

kje je tipka za vstavljanje na tipkovnici prenosnika

Primer 9:

Napišite poizvedbo za prikaz vseh podrobnosti zaposlenih, razvrščenih v naraščajočem vrstnem redu glede na mesec zaposlitve zaposlenega.

poizvedba:

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

Ker smo želeli zapise razvrstiti po naraščajočem vrstnem redu meseca pridružitve zaposlenih, smo uporabili klavzulo ORDER BY. Funkcija MONTH () je uporabljena v stolpcu 'Joining_Date', da izvleče samo mesec pridružitve iz Joining_Date.

Dobili boste naslednje rezultate:

ID Ime Plača Datum_pridružitve 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

Iz rezultatov zgornje poizvedbe je razvidno, da so zapisi prikazani po naraščajočem vrstnem redu meseca zaposlitve zaposlenega.