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