logo

SQL ORDER BY КЛАУЗА С НИЗХОДЯЩ РЕД

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

Преди да напишем заявките за сортиране на записите, нека разберем синтаксиса.

Синтаксис за сортиране на записите в низходящ ред:

SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC; 

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

Помислете, че имаме таблица с клиенти със следните записи:

документ за самоличност ИМЕ ВЪЗРАСТ АДРЕС ЗАПЛАТА
1 Химани Гупта двадесет и едно Моди Нагар 22000
2 Шива Тивари 22 Бопал 21000
3 Аджит Бхаргав Четири пет Мирут 65 000
4 Ритеш Ядав 36 Азамгарх 26000
5 Балвант Сингх Четири пет Варанаси 36000
6 Махеш Шарма 26 Матхура 22000
7 Рохит Шривастава 19 Ахмедабад 38 000
8 Нееру Шарма 29 Пуна 40 000
9 Акаш Ядав 32 Мумбай 43500
10 Сахил Шейх 35 Аурангабад 68800

Пример 1:

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

Запитване:

mysql> SELECT *FROM customers ORDER BY Name DESC;

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

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

документ за самоличност ИМЕ ВЪЗРАСТ АДРЕС ЗАПЛАТА
2 Шива Тивари 22 Бопал 21000
10 Сахил Шейх 35 Аурангабад 68800
7 Рохит Шривастава 19 Ахмедабад 38 000
4 Ритеш Ядав 36 Азамгарх 26000
8 Нееру Шарма 29 Пуна 40 000
6 Махеш Шарма 26 Матхура 22000
1 Химани Гупта двадесет и едно Моди Нагар 22000
5 Балвант Сингх Четири пет Варанаси 36000
3 Аджит Бхаргав Четири пет Мирут 65 000
9 Акаш Ядав 32 Мумбай 43500

Всички записи в таблицата с клиенти се показват в низходящ ред на името на клиента.

Пример 2:

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

Запитване:

mysql> SELECT *FROM customers ORDER BY Address DESC;

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

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

документ за самоличност ИМЕ ВЪЗРАСТ АДРЕС ЗАПЛАТА
5 Балвант Сингх Четири пет Варанаси 36000
8 Нееру Шарма 29 Пуна 40 000
9 Акаш Ядав 32 Мумбай 43500
1 Химани Гупта двадесет и едно Моди Нагар 22000
3 Аджит Бхаргав Четири пет Мирут 65 000
6 Махеш Шарма 26 Матхура 22000
2 Шива Тивари 22 Бопал 21000
4 Ритеш Ядав 36 Азамгарх 26000
10 Сахил Шейх 35 Аурангабад 68800
7 Рохит Шривастава 19 Ахмедабад 38 000

Всички записи в таблицата с клиенти се показват в низходящ ред на адреса на клиента.

Пример 3:

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

Запитване:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

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

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

документ за самоличност Име възраст Адрес Заплата
10 Сахил Шейх 35 Аурангабад 68800
3 Аджит Бхаргав Четири пет Мирут 65 000
9 Акаш Ядав 32 Мумбай 43500
8 Нееру Шарма 29 Пуна 40 000
7 Рохит Шривастава 19 Ахмедабад 38 000
5 Балвант Сингх Четири пет Варанаси 36000
4 Ритеш Ядав 36 Азамгарх 26000
6 Махеш Шарма 26 Матхура 22000
1 Химани Гупта двадесет и едно Моди Нагар 22000
2 Шива Тивари 22 Бопал 21000

Всички записи в таблицата с клиенти се показват в низходящ ред на заплатата на клиента.

Пример 4:

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

java коментари

Запитване:

mysql> SELECT *FROM customers ORDER BY Age DESC;

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

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

документ за самоличност Име възраст Адрес Заплата
3 Аджит Бхаргав Четири пет Мирут 65 000
5 Балвант Сингх Четири пет Варанаси 36000
4 Ритеш Ядав 36 Азамгарх 26000
10 Сахил Шейх 35 Аурангабад 68800
9 Акаш Ядав 32 Мумбай 43500
8 Нееру Шарма 29 Пуна 40 000
6 Махеш Шарма 26 Матхура 22000
2 Шива Тивари 22 Бопал 21000
1 Химани Гупта двадесет и едно Моди Нагар 22000
7 Рохит Шривастава 19 Ахмедабад 38 000

Всички записи в таблицата с клиенти се показват в низходящ ред според възрастта на клиента.

Помислете, че имаме друга таблица с име agents със следните записи:

ПОМОЩ Име Работна среда Печалба_Процент Номер за контакт Заплата
1 Гурпреет Сингх Бангалор 1 9989675432 43000
2 Сакши Кумари Ченай 5 8190567342 25 000
3 Прачи Десай Мумбай 2 9056123432 60 000
4 Шивани Море Пуна 3 8894236789 35500
5 Палави Сингх Делхи 4 7798092341 38700
6 Рохини Кулкарни Амбала 8 7890945612 25670
7 - каза Швета Чандигарх 6 8898786453 31670
8 Сонакши Тивари Удайпур 2 9809453421 25050
9 Анушка Трипати На пръстите си 9 8909124326 38 000
10 Девика Шарма Гоа 7 7864523145 44050

Пример 1:

нередно преминаване на двоично дърво

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

Запитване:

mysql> SELECT *FROM agents ORDER BY Name DESC;

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

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

ПОМОЩ Име Работна среда Печалба_Процент Номер за контакт Заплата
8 Сонакши Тивари Удайпур 2 9809453421 25050
7 - каза Швета Чандигарх 6 8898786453 31670
4 Шивани Море Пуна 3 8894236789 35500
2 Сакши Кумари Ченай 5 8190567342 25 000
6 Рохини Кулкарни Амбала 8 7890945612 25670
3 Прачи Десай Мумбай 2 9056123432 60 000
5 Палави Сингх Делхи 4 7798092341 38700
1 Гурпреет Сингх Бангалор 1 9989675432 43000
10 Девика Шарма Гоа 7 7864523145 44050
9 Анушка Трипати На пръстите си 9 8909124326 38 000

Всички записи в таблицата на агентите се показват в низходящ ред на името на агента.

Пример 2:

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

Запитване:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

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

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

ПОМОЩ Име Работна среда Печалба_Процент Номер за контакт Заплата
3 Прачи Десай Мумбай 2 9056123432 60 000
10 Девика Шарма Гоа 7 7864523145 44050
1 Гурпреет Сингх Бангалор 1 9989675432 43000
5 Палави Сингх Делхи 4 7798092341 38700
9 Анушка Трипати На пръстите си 9 8909124326 38 000
4 Шивани Море Пуна 3 8894236789 35500
7 - каза Швета Чандигарх 6 8898786453 31670
6 Рохини Кулкарни Амбала 8 7890945612 25670
8 Сонакши Тивари Удайпур 2 9809453421 25050
2 Сакши Кумари Ченай 5 8190567342 25 000

Всички записи в таблицата на агентите се показват в низходящ ред на заплатата на агента.

Пример 3:

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

Запитване:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

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

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

ПОМОЩ Име Работна среда Печалба_Процент Номер за контакт Заплата
9 Анушка Трипати На пръстите си 9 8909124326 38 000
8 Сонакши Тивари Удайпур 2 9809453421 25050
4 Шивани Море Пуна 3 8894236789 35500
3 Прачи Десай Мумбай 2 9056123432 60 000
10 Девика Шарма Гоа 7 7864523145 44050
5 Палави Сингх Делхи 4 7798092341 38700
2 Сакши Кумари Ченай 5 8190567342 25 000
7 - каза Швета Чандигарх 6 8898786453 31670
1 Гурпреет Сингх Бангалор 1 9989675432 43000
6 Рохини Кулкарни Амбала 8 7890945612 25670

Всички записи в таблицата на агентите се показват в низходящ ред на работната област на агента.

Пример 4:

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

Запитване:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

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

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

ПОМОЩ Име Работна среда Печалба_Процент Номер за контакт Заплата
9 Анушка Трипати На пръстите си 9 8909124326 38 000
6 Рохини Кулкарни Амбала 8 7890945612 25670
10 Девика Шарма Гоа 7 7864523145 44050
7 - каза Швета Чандигарх 6 8898786453 31670
2 Сакши Кумари Ченай 5 8190567342 25 000
5 Палави Сингх Делхи 4 7798092341 38700
4 Шивани Море Пуна 3 8894236789 35500
3 Прачи Десай Мумбай 2 9056123432 60 000
8 Сонакши Тивари Удайпур 2 9809453421 25050
1 Гурпреет Сингх Бангалор 1 9989675432 43000

Всички записи в таблицата на агентите се показват в низходящ ред на процента печалба на агента.