logo

SQL OBJEDNÁVKA PODĽA DÁTUMU

  • ORDER BY je klauzula v SQL, ktorá sa používa s dotazom SELECT na načítanie záznamov z tabuľky vo vzostupnom alebo zostupnom poradí.
  • Rovnako ako triedime celé číslo a hodnoty reťazca uložené v stĺpci tabuliek, podobne môžeme triediť dátumy uložené v stĺpci SQL tabuľky.
  • Všetky záznamy budú štandardne zoradené vo vzostupnom poradí. Na zoradenie záznamov v zostupnom poradí sa používa kľúčové slovo DESC.

Pozrime sa na niekoľko praktických príkladov, aby sme tento koncept lepšie pochopili. Na písanie všetkých dopytov použijeme databázu MySQL.

Uvažujme, že sme vytvorili tabuľku s názvom zamestnanci v databáze MySQL s nasledujúcimi údajmi:

ID názov Plat Dátum pripojenia nar
1 Rohit Viac 50 000 2020-02-08 1991-01-28 18:06:08
2 Kunal Mohit 34 000 1. 1. 2021 15.05.1990 19:10:00
3 Saurabh Jha 61 000 2015-05-01 1983-02-20 12:18:45
4 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 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

Príklad 1:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa dátumu narodenia.

Dopyt:

mysql sa nerovná
 mysql> SELECT *FROM employees ORDER BY DOB; 

Keďže sme chceli záznamy zoradiť vzostupne podľa dátumu narodenia zamestnancov, tak sme na stĺpec 'DOB' aplikovali doložku ORDER BY.

Získate nasledujúci výstup:

ID názov Plat Dátum pripojenia nar
4 Anant 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 Kunal Mohit 34 000 1. 1. 2021 15.05.1990 19:10:00
1 Rohit Viac 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 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sú zobrazené podľa vzostupného poradia DOB.

Príklad 2:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných v zostupnom poradí podľa dátumov ich nástupu.

Dopyt:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Keďže sme chceli zoradiť záznamy v zostupnom poradí podľa dátumu nástupu zamestnancov, aplikovali sme klauzulu ORDER BY s kľúčovým slovom DESC na stĺpec 'Dátum_nástupu'.

Získate nasledujúci výstup:

ID názov Plat Dátum pripojenia nar
6 Bhavesh Jain 37 000 2021-07-03 1998-08-02 13:00:01
2 Kunal Mohit 34 000 1. 1. 2021 15.05.1990 19:10:00
1 Rohit Viac 50 000 2020-02-08 1991-01-28 18:06:08
4 Anant 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 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sú zobrazené v zostupnom poradí dátumov spojenia.

Príklad 3:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa roku narodenia.

Dopyt:

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

Keďže sme chceli záznamy zoradiť vzostupne podľa roku narodenia zamestnancov, tak sme aplikovali klauzulu ORDER BY. Funkcia DATE_FORMAT () sa aplikuje na stĺpec DOB s parametrom '%Y' na extrahovanie iba roku z 'DOB'.

Získate nasledujúci výstup:

ID názov Plat Dátum pripojenia Rok narodenia
4 Anant Desai 59 000 2018-08-27 1978
3 Saurabh Jha 61 000 2015-05-01 1983
2 Kunal Mohit 34 000 1. 1. 2021 1990
1 Rohit Viac 50 000 2020-02-08 1991
6 Bhavesh Jain 37 000 2021-07-03 1998
5 Krishna Sharma 48 000 2010-10-23 1999

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sa zobrazujú vzostupne podľa roku narodenia zamestnanca.

Príklad 4:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných v zostupnom poradí podľa hodiny narodenia.

Dopyt:

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

Keďže sme chceli záznamy triediť v zostupnom poradí podľa hodiny narodenia zamestnancov, aplikovali sme doložku ORDER BY s kľúčovým slovom DESC. Funkcia DATE_FORMAT () sa aplikuje na stĺpec DOB s parametrom '%H' na extrahovanie iba hodiny narodenia zo stĺpca 'DOB'.

Získate nasledujúci výstup:

ID názov Plat Dátum pripojenia Hour_Of_Birth
2 Kunal Mohit 34 000 1. 1. 2021 19
1 Rohit Viac 50 000 2020-02-08 18
4 Anant Desai 59 000 2018-08-27 pätnásť
6 Bhavesh Jain 37 000 2021-07-03 13
3 Saurabh Jha 61 000 2015-05-01 12
5 Krishna Sharma 48 000 2010-10-23 02

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sú zobrazené v zostupnom poradí podľa hodiny narodenia zamestnanca.

Príklad 5:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa roku ich nástupu.

Dopyt:

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

Keďže sme chceli záznamy zoradiť vzostupne podľa pripájaného roku zamestnancov, aplikovali sme doložku ORDER BY. Funkcia DATE_FORMAT () sa aplikuje na stĺpec Joining_Date s parametrom '%Y' na extrahovanie iba roku z 'Joining_Date'.

Získate nasledujúci výstup:

ID názov Plat Year_of_Joining nar
5 Krishna Sharma 48 000 2010 1999-03-21 02:14:56
3 Saurabh Jha 61 000 2015 1983-02-20 12:18:45
4 Anant Desai 59 000 2018 1978-06-29 15:45:13
1 Rohit Viac 50 000 2020 1991-01-28 18:06:08
2 Kunal Mohit 34 000 2021 15.05.1990 19:10:00
6 Bhavesh Jain 37 000 2021 1998-08-02 13:00:01

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sa zobrazujú podľa vzostupného poradia roku nástupu zamestnancov.

Príklad 6:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných v zostupnom poradí podľa dňa nástupu zamestnancov.

Dopyt:

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

Keďže sme chceli zoradiť záznamy v zostupnom poradí podľa dňa nástupu zamestnancov, aplikovali sme klauzulu ORDER BY s kľúčovým slovom DESC. Funkcia DAY () sa aplikuje na stĺpec 'Dátum_pripojenia' na extrahovanie iba dňa pripojenia z Dátum_pripojenia.

Získate nasledujúci výstup:

ID názov Plat Day_of_Joining nar
4 Anant Desai 59 000 27 1978-06-29 15:45:13
5 Krishna Sharma 48 000 23 1999-03-21 02:14:56
1 Rohit Viac 50 000 8 1991-01-28 18:06:08
6 Bhavesh Jain 37 000 3 1998-08-02 13:00:01
2 Kunal Mohit 34 000 1 15.05.1990 19:10:00
3 Saurabh Jha 61 000 1 1983-02-20 12:18:45

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sú zobrazené v zostupnom poradí podľa dňa nástupu zamestnancov.

Príklad 7:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa dátumu narodenia zamestnancov.

Dopyt:

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

Keďže sme chceli záznamy zoradiť vzostupne podľa dňa narodenia zamestnancov, tak sme aplikovali doložku ORDER BY. Funkcia DAY () sa aplikuje na stĺpec 'DOB' na extrahovanie iba dňa narodenia z DOB.

Získate nasledujúci výstup:

ID názov Plat Year_of_Joining Day_of_Birth
6 Bhavesh Jain 37 000 2021-07-03 2
2 Kunal Mohit 34 000 1. 1. 2021 pätnásť
3 Saurabh Jha 61 000 2015-05-01 dvadsať
5 Krishna Sharma 48 000 2010-10-23 dvadsaťjeden
1 Rohit Viac 50 000 2020-02-08 28
4 Anant Desai 59 000 2018-08-27 29

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sú zobrazené vzostupne podľa dátumu narodenia zamestnanca.

Príklad 8:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa mesiaca narodenia zamestnanca.

Dopyt:

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

ID názov Plat Dátum pripojenia nar
1 Rohit Viac 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 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56
2 Kunal Mohit 34 000 1. 1. 2021 15.05.1990 19:10:00
4 Anant 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

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sa zobrazujú vzostupne podľa mesiaca narodenia zamestnanca.

Príklad 9:

Napíšte dotaz na zobrazenie všetkých podrobností o zamestnancoch usporiadaných vzostupne podľa mesiaca, v ktorom zamestnanec nastúpil.

Dopyt:

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

Keďže sme chceli záznamy zoradiť vzostupne podľa pripájajúceho sa mesiaca zamestnancov, aplikovali sme doložku ORDER BY. Funkcia MONTH () sa aplikuje na stĺpec 'Dátum_pripojenia' na extrahovanie iba mesiaca pripájania z Dátum_pristúpenia.

Získate nasledujúci výstup:

ID názov Plat Dátum pripojenia nar
2 Kunal Mohit 34 000 1. 1. 2021 15.05.1990 19:10:00
1 Rohit Viac 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 Anant Desai 59 000 2018-08-27 1978-06-29 15:45:13
5 Krishna Sharma 48 000 2010-10-23 1999-03-21 02:14:56

Výsledky získané z vyššie uvedeného dotazu ukazujú, že záznamy sa zobrazujú vzostupne podľa mesiaca nástupu zamestnanca.