logo

SQL ПОРЪЧКА ПО ДАТА

  • ORDER BY е клауза в SQL, която се използва с SELECT заявка за извличане на записите във възходящ или низходящ ред от таблица.
  • Точно както сортираме целите числа и низовите стойности, съхранени в колоната на таблиците, по подобен начин можем да сортираме датите, съхранени в колоната на SQL таблицата.
  • Всички записи ще бъдат сортирани по подразбиране във възходящ ред. За сортиране на записите в низходящ ред се използва ключовата дума DESC.

Нека видим няколко практически примера, за да разберем тази концепция по-ясно. Ще използваме базата данни MySQL за писане на всички заявки.

Помислете, че сме създали таблица, наречена служители в MySQL база данни със следните данни:

документ за самоличност Име Заплата Дата на присъединяване DOB
1 Рохит Мор 50 000 2020-02-08 1991-01-28 18:06:08
2 Кунал Мохит 34 000 2021-01-01 1990-05-15 19:10:00
3 Саураб Джа 61000 2015-05-01 1983-02-20 12:18:45
4 Анант Десай 59 000 2018-08-27 1978-06-29 15:45:13
5 Кришна Шарма 48000 2010-10-23 1999-03-21 02:14:56
6 Бхавеш Джайн 37 000 2021-07-03 1998-08-02 13:00:01

Пример 1:

Напишете заявка за показване на всички подробности за служителите, подредени във възходящ ред на датата им на раждане.

Запитване:

 mysql> SELECT *FROM employees ORDER BY DOB; 

Тъй като искахме да сортираме записите във възходящ ред на датата на раждане на служителите, приложихме клаузата ORDER BY в колоната „DOB“.

Ще получите следния изход:

документ за самоличност Име Заплата Дата на присъединяване DOB
4 Анант Десай 59 000 2018-08-27 1978-06-29 15:45:13
3 Саураб Джа 61000 2015-05-01 1983-02-20 12:18:45
2 Кунал Мохит 34 000 2021-01-01 1990-05-15 19:10:00
1 Рохит Мор 50 000 2020-02-08 1991-01-28 18:06:08
6 Бхавеш Джайн 37 000 2021-07-03 1998-08-02 13:00:01
5 Кришна Шарма 48000 2010-10-23 1999-03-21 02:14:56

Резултатите, получени от горната заявка, показват, че записите се показват по възходящ ред на DOB.

Пример 2:

Напишете заявка, за да покажете всички подробности за служителите, подредени в низходящ ред на датите им на присъединяване.

Запитване:

 mysql> SELECT *FROM employees ORDER BY Joining_Date DESC; 

Тъй като искахме да сортираме записите в низходящ ред на датата на присъединяване на служителите, ние приложихме клаузата ORDER BY с ключовата дума DESC в колоната „Joining_Date“.

Ще получите следния изход:

java карта
документ за самоличност Име Заплата Дата на присъединяване DOB
6 Бхавеш Джайн 37 000 2021-07-03 1998-08-02 13:00:01
2 Кунал Мохит 34 000 2021-01-01 1990-05-15 19:10:00
1 Рохит Мор 50 000 2020-02-08 1991-01-28 18:06:08
4 Анант Десай 59 000 2018-08-27 1978-06-29 15:45:13
3 Саураб Джа 61000 2015-05-01 1983-02-20 12:18:45
5 Кришна Шарма 48000 2010-10-23 1999-03-21 02:14:56

Резултатите, получени от горната заявка, показват, че записите се показват в низходящ ред на датите на присъединяване.

Пример 3:

Напишете заявка за показване на всички подробности за служителите, подредени във възходящ ред на тяхната година на раждане.

Запитване:

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

Тъй като искахме да сортираме записите във възходящ ред на годината на раждане на служителите, приложихме клаузата ORDER BY. Функцията DATE_FORMAT () се прилага към колоната DOB с параметъра „%Y“, за да извлече само годината от „DOB“.

Ще получите следния изход:

документ за самоличност Име Заплата Дата на присъединяване Година на раждане
4 Анант Десай 59 000 2018-08-27 1978 г
3 Саураб Джа 61000 2015-05-01 1983 г
2 Кунал Мохит 34 000 2021-01-01 1990 г
1 Рохит Мор 50 000 2020-02-08 1991 г
6 Бхавеш Джайн 37 000 2021-07-03 1998 г
5 Кришна Шарма 48000 2010-10-23 1999 г

Резултатите, получени от горната заявка, показват, че записите се показват според възходящ ред на годината на раждане на служителя.

Пример 4:

Напишете заявка, за да покажете всички подробности за служителите, подредени в низходящ ред на техния час на раждане.

математика случайна java

Запитване:

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

Тъй като искахме да сортираме записите в низходящ ред на часа на раждане на служителите, приложихме клаузата ORDER BY с ключовата дума DESC. Функцията DATE_FORMAT () се прилага към колоната DOB с параметъра „%H“, за да извлече само часа на раждане от колоната „DOB“.

Ще получите следния изход:

документ за самоличност Име Заплата Дата на присъединяване Час_На_Раждане
2 Кунал Мохит 34 000 2021-01-01 19
1 Рохит Мор 50 000 2020-02-08 18
4 Анант Десай 59 000 2018-08-27 петнадесет
6 Бхавеш Джайн 37 000 2021-07-03 13
3 Саураб Джа 61000 2015-05-01 12
5 Кришна Шарма 48000 2010-10-23 02

Резултатите, получени от горната заявка, показват, че записите се показват в низходящ ред на часа на раждане на служителя.

Пример 5:

Напишете заявка, за да покажете всички подробности за служителите, подредени във възходящ ред на тяхната година на присъединяване.

Запитване:

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

Тъй като искахме да сортираме записите във възходящ ред на годината на присъединяване на служителите, приложихме клаузата ORDER BY. Функцията DATE_FORMAT () се прилага към колоната Joining_Date с параметъра „%Y“, за да извлече само годината от „Joining_Date“.

Ще получите следния изход:

документ за самоличност Име Заплата Година_на_присъединяване DOB
5 Кришна Шарма 48000 2010 г 1999-03-21 02:14:56
3 Саураб Джа 61000 2015 г 1983-02-20 12:18:45
4 Анант Десай 59 000 2018 г 1978-06-29 15:45:13
1 Рохит Мор 50 000 2020 г 1991-01-28 18:06:08
2 Кунал Мохит 34 000 2021 г 1990-05-15 19:10:00
6 Бхавеш Джайн 37 000 2021 г 1998-08-02 13:00:01

Резултатите, получени от горната заявка, показват, че записите се показват според възходящ ред на годината на присъединяване на служителите.

Пример 6:

Напишете заявка за показване на всички подробности за служителите, подредени в низходящ ред на деня на присъединяване на служителите.

Запитване:

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

Тъй като искахме да сортираме записите в низходящ ред на деня на присъединяване на служителите, приложихме клаузата ORDER BY с ключовата дума DESC. Функцията DAY () се прилага към колоната „Joining_Date“, за да извлече само деня на присъединяване от Joining_Date.

Ще получите следния изход:

документ за самоличност Име Заплата Ден_на_присъединяване DOB
4 Анант Десай 59 000 27 1978-06-29 15:45:13
5 Кришна Шарма 48000 23 1999-03-21 02:14:56
1 Рохит Мор 50 000 8 1991-01-28 18:06:08
6 Бхавеш Джайн 37 000 3 1998-08-02 13:00:01
2 Кунал Мохит 34 000 1 1990-05-15 19:10:00
3 Саураб Джа 61000 1 1983-02-20 12:18:45

Резултатите, получени от горната заявка, показват, че записите се показват в низходящ ред на деня на присъединяване на служителите.

Пример 7:

Напишете заявка за показване на всички подробности за служителите, подредени във възходящ ред на рождения ден на служителите.

Запитване:

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

Тъй като искахме да сортираме записите във възходящ ред на деня на раждане на служителите, приложихме клаузата ORDER BY. Функцията DAY () се прилага към колоната „DOB“, за да извлече само деня на раждане от DOB.

Ще получите следния изход:

документ за самоличност Име Заплата Година_на_присъединяване Ден на раждане
6 Бхавеш Джайн 37 000 2021-07-03 2
2 Кунал Мохит 34 000 2021-01-01 петнадесет
3 Саураб Джа 61000 2015-05-01 двадесет
5 Кришна Шарма 48000 2010-10-23 двадесет и едно
1 Рохит Мор 50 000 2020-02-08 28
4 Анант Десай 59 000 2018-08-27 29

Резултатите, получени от горната заявка, показват, че записите се показват според възходящ ред на деня на раждане на служителя.

Пример 8:

Напишете заявка за показване на всички подробности за служителите, подредени във възходящ ред на месеца на раждане на служителя.

Запитване:

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

документ за самоличност Име Заплата Дата на присъединяване DOB
1 Рохит Мор 50 000 2020-02-08 1991-01-28 18:06:08
3 Саураб Джа 61000 2015-05-01 1983-02-20 12:18:45
5 Кришна Шарма 48000 2010-10-23 1999-03-21 02:14:56
2 Кунал Мохит 34 000 2021-01-01 1990-05-15 19:10:00
4 Анант Десай 59 000 2018-08-27 1978-06-29 15:45:13
6 Бхавеш Джайн 37 000 2021-07-03 1998-08-02 13:00:01

Резултатите, получени от горната заявка, показват, че записите се показват според възходящ ред на месеца на раждане на служителя.

bfs срещу dfs

Пример 9:

Напишете заявка за показване на всички подробности за служителите, подредени във възходящ ред на месеца на присъединяване на служителя.

Запитване:

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

Тъй като искахме да сортираме записите във възходящ ред на месеца на присъединяване на служителите, приложихме клаузата ORDER BY. Функцията MONTH () се прилага към колоната „Joining_Date“, за да извлече само месеца на присъединяване от Joining_Date.

Ще получите следния изход:

документ за самоличност Име Заплата Дата на присъединяване DOB
2 Кунал Мохит 34 000 2021-01-01 1990-05-15 19:10:00
1 Рохит Мор 50 000 2020-02-08 1991-01-28 18:06:08
3 Саураб Джа 61000 2015-05-01 1983-02-20 12:18:45
6 Бхавеш Джайн 37 000 2021-07-03 1998-08-02 13:00:01
4 Анант Десай 59 000 2018-08-27 1978-06-29 15:45:13
5 Кришна Шарма 48000 2010-10-23 1999-03-21 02:14:56

Резултатите, получени от горната заявка, показват, че записите се показват според възходящ ред на месеца на присъединяване на служителя.