- Щоразу, коли ми хочемо відсортувати записи на основі стовпців, що зберігаються в таблицях бази даних SQL, ми розглядаємо використання пропозиції ORDER BY у SQL.
- Речення ORDER BY у SQL допомагає нам сортувати записи на основі певного стовпця таблиці. Це означає, що спочатку всі значення, збережені в стовпці, до якого ми застосовуємо пропозицію ORDER BY, будуть відсортовані. Тоді відповідні значення стовпців будуть відображені в тій самій послідовності, що й значення, отримані на попередньому кроці.
- Використовуючи речення ORDER BY, ми можемо сортувати записи в порядку зростання або спадання відповідно до наших вимог. Записи будуть відсортовані в порядку зростання кожного разу, коли ключове слово ASC використовується з пунктом ORDER by. Ключове слово DESC сортує записи в порядку спадання . Якщо після стовпця, на основі якого ми маємо відсортувати записи, не вказано ключове слово, то в цьому випадку сортування виконуватиметься за замовчуванням у порядку зростання.
Перш ніж писати запити для сортування записів, розберемося з синтаксисом.
Синтаксис сортування записів у порядку спадання:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Давайте докладніше розглянемо цю тему на прикладах. Ми будемо використовувати базу даних MySQL для написання запитів у прикладах.
Припустимо, у нас є таблиця клієнтів із такими записами:
ID | ІМ'Я | ВІК | АДРЕСА | ЗАРПЛАТА |
---|---|---|---|---|
1 | Хімані Гупта | двадцять один | Моді Нагар | 22000 |
2 | Шива Тіварі | 22 | Бхопал | 21000 |
3 | Аджит Бхаргав | Чотири | Мірут | 65000 |
4 | Ритеш Ядав | 36 | Азамгарх | 26000 |
5 | Балвант Сінгх | Чотири | Варанасі | 36000 |
6 | Махеш Шарма | 26 | Матхура | 22000 |
7 | Рохіт Шрівастава | 19 | Ахмедабад | 38000 |
8 | Ніру Шарма | 29 | Пуна | 40000 |
9 | Акаш Ядав | 32 | Мумбаї | 43500 |
10 | Сахіль Шейх | 35 | Аурангабад | 68800 |
приклад 1:
Напишіть запит для сортування записів у порядку спадання імен клієнтів, які зберігаються в таблиці клієнтів.
Запит:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Тут, у запиті SELECT, речення ORDER BY застосовується до стовпця «Ім’я» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ID | ІМ'Я | ВІК | АДРЕСА | ЗАРПЛАТА |
---|---|---|---|---|
2 | Шива Тіварі | 22 | Бхопал | 21000 |
10 | Сахіль Шейх | 35 | Аурангабад | 68800 |
7 | Рохіт Шрівастава | 19 | Ахмедабад | 38000 |
4 | Ритеш Ядав | 36 | Азамгарх | 26000 |
8 | Ніру Шарма | 29 | Пуна | 40000 |
6 | Махеш Шарма | 26 | Матхура | 22000 |
1 | Хімані Гупта | двадцять один | Моді Нагар | 22000 |
5 | Балвант Сінгх | Чотири | Варанасі | 36000 |
3 | Аджит Бхаргав | Чотири | Мірут | 65000 |
9 | Акаш Ядав | 32 | Мумбаї | 43500 |
Усі записи в таблиці клієнтів відображаються в порядку спадання імені клієнта.
приклад 2:
Напишіть запит для сортування записів у порядку спадання адрес, що зберігаються в таблиці клієнтів.
Запит:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Тут, у запиті SELECT, речення ORDER BY застосовується до стовпця «Адреса» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ID | ІМ'Я | ВІК | АДРЕСА | ЗАРПЛАТА |
---|---|---|---|---|
5 | Балвант Сінгх | Чотири | Варанасі | 36000 |
8 | Ніру Шарма | 29 | Пуна | 40000 |
9 | Акаш Ядав | 32 | Мумбаї | 43500 |
1 | Хімані Гупта | двадцять один | Моді Нагар | 22000 |
3 | Аджит Бхаргав | Чотири | Мірут | 65000 |
6 | Махеш Шарма | 26 | Матхура | 22000 |
2 | Шива Тіварі | 22 | Бхопал | 21000 |
4 | Ритеш Ядав | 36 | Азамгарх | 26000 |
10 | Сахіль Шейх | 35 | Аурангабад | 68800 |
7 | Рохіт Шрівастава | 19 | Ахмедабад | 38000 |
Усі записи, присутні в таблиці клієнтів, відображаються в порядку спадання адреси клієнта.
приклад 3:
Напишіть запит для сортування записів у порядку спадання заробітної плати клієнта, які зберігаються в таблиці клієнтів.
Запит:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Тут у запиті SELECT речення ORDER BY застосовано до стовпця «Зарплата» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ID | Ім'я | Вік | Адреса | Зарплата |
---|---|---|---|---|
10 | Сахіль Шейх | 35 | Аурангабад | 68800 |
3 | Аджит Бхаргав | Чотири | Мірут | 65000 |
9 | Акаш Ядав | 32 | Мумбаї | 43500 |
8 | Ніру Шарма | 29 | Пуна | 40000 |
7 | Рохіт Шрівастава | 19 | Ахмедабад | 38000 |
5 | Балвант Сінгх | Чотири | Варанасі | 36000 |
4 | Ритеш Ядав | 36 | Азамгарх | 26000 |
6 | Махеш Шарма | 26 | Матхура | 22000 |
1 | Хімані Гупта | двадцять один | Моді Нагар | 22000 |
2 | Шива Тіварі | 22 | Бхопал | 21000 |
Усі записи, наявні в таблиці клієнтів, відображаються в порядку спадання заробітної плати клієнта.
javac не розпізнається
Приклад 4:
Напишіть запит для сортування записів у порядку спадання віку клієнта, які зберігаються в таблиці клієнтів.
Запит:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Тут у запиті SELECT речення ORDER BY застосовано до стовпця «Вік» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ID | Ім'я | Вік | Адреса | Зарплата |
---|---|---|---|---|
3 | Аджит Бхаргав | Чотири | Мірут | 65000 |
5 | Балвант Сінгх | Чотири | Варанасі | 36000 |
4 | Ритеш Ядав | 36 | Азамгарх | 26000 |
10 | Сахіль Шейх | 35 | Аурангабад | 68800 |
9 | Акаш Ядав | 32 | Мумбаї | 43500 |
8 | Ніру Шарма | 29 | Пуна | 40000 |
6 | Махеш Шарма | 26 | Матхура | 22000 |
2 | Шива Тіварі | 22 | Бхопал | 21000 |
1 | Хімані Гупта | двадцять один | Моді Нагар | 22000 |
7 | Рохіт Шрівастава | 19 | Ахмедабад | 38000 |
Усі записи, наявні в таблиці клієнтів, відображаються в порядку спадання віку клієнта.
пошукова система та приклади
Уявімо, що у нас є інша таблиця під назвою agents із такими записами:
ДОПОМОГА | Ім'я | WorkArea | Прибуток_Відсоток | Контактний номер | Зарплата |
---|---|---|---|---|---|
1 | Гурпріт Сінгх | Бангалор | 1 | 9989675432 | 43000 |
2 | Сакші Кумарі | Ченнаї | 5 | 8190567342 | 25000 |
3 | Прачі Десай | Мумбаї | 2 | 9056123432 | 60000 |
4 | Шивані Море | Пуна | 3 | 8894236789 | 35500 |
5 | Паллаві Сінгх | Делі | 4 | 7798092341 | 38700 |
6 | Рохіні Кулкарні | Амбала | 8 | 7890945612 | 25670 |
7 | – сказала Швета | Чандігарх | 6 | 8898786453 | 31670 |
8 | Сонакші Тіварі | Удайпур | 2 | 9809453421 | 25050 |
9 | Анушка Тріпаті | На пальцях | 9 | 8909124326 | 38000 |
10 | Девіка Шарма | Гоа | 7 | 7864523145 | 44050 |
приклад 1:
Напишіть запит для сортування записів у порядку спадання імен агентів, які зберігаються в таблиці агентів.
Запит:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Тут, у запиті SELECT, речення ORDER BY застосовується до стовпця «Ім’я» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ДОПОМОГА | Ім'я | WorkArea | Прибуток_Відсоток | Контактний номер | Зарплата |
---|---|---|---|---|---|
8 | Сонакші Тіварі | Удайпур | 2 | 9809453421 | 25050 |
7 | – сказала Швета | Чандігарх | 6 | 8898786453 | 31670 |
4 | Шивані Море | Пуна | 3 | 8894236789 | 35500 |
2 | Сакші Кумарі | Ченнаї | 5 | 8190567342 | 25000 |
6 | Рохіні Кулкарні | Амбала | 8 | 7890945612 | 25670 |
3 | Прачі Десай | Мумбаї | 2 | 9056123432 | 60000 |
5 | Паллаві Сінгх | Делі | 4 | 7798092341 | 38700 |
1 | Гурпріт Сінгх | Бангалор | 1 | 9989675432 | 43000 |
10 | Девіка Шарма | Гоа | 7 | 7864523145 | 44050 |
9 | Анушка Тріпаті | На пальцях | 9 | 8909124326 | 38000 |
Усі записи в таблиці агентів відображаються в порядку спадання імені агента.
приклад 2:
Напишіть запит для сортування записів у порядку спадання зарплати агента, які зберігаються в таблиці агентів.
Запит:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Тут у запиті SELECT речення ORDER BY застосовано до стовпця «Зарплата» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ДОПОМОГА | Ім'я | WorkArea | Прибуток_Відсоток | Контактний номер | Зарплата |
---|---|---|---|---|---|
3 | Прачі Десай | Мумбаї | 2 | 9056123432 | 60000 |
10 | Девіка Шарма | Гоа | 7 | 7864523145 | 44050 |
1 | Гурпріт Сінгх | Бангалор | 1 | 9989675432 | 43000 |
5 | Паллаві Сінгх | Делі | 4 | 7798092341 | 38700 |
9 | Анушка Тріпаті | На пальцях | 9 | 8909124326 | 38000 |
4 | Шивані Море | Пуна | 3 | 8894236789 | 35500 |
7 | – сказала Швета | Чандігарх | 6 | 8898786453 | 31670 |
6 | Рохіні Кулкарні | Амбала | 8 | 7890945612 | 25670 |
8 | Сонакші Тіварі | Удайпур | 2 | 9809453421 | 25050 |
2 | Сакші Кумарі | Ченнаї | 5 | 8190567342 | 25000 |
Усі записи, присутні в таблиці агентів, відображаються в порядку спадання зарплати агента.
приклад 3:
Напишіть запит для сортування записів у порядку спадання робочої області агента, які зберігаються в таблиці агентів.
Запит:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Тут, у запиті SELECT, речення ORDER BY застосовується до стовпця «Робоча область» для сортування записів. Ключове слово DESC сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ДОПОМОГА | Ім'я | WorkArea | Прибуток_Відсоток | Контактний номер | Зарплата |
---|---|---|---|---|---|
9 | Анушка Тріпаті | На пальцях | 9 | 8909124326 | 38000 |
8 | Сонакші Тіварі | Удайпур | 2 | 9809453421 | 25050 |
4 | Шивані Море | Пуна | 3 | 8894236789 | 35500 |
3 | Прачі Десай | Мумбаї | 2 | 9056123432 | 60000 |
10 | Девіка Шарма | Гоа | 7 | 7864523145 | 44050 |
5 | Паллаві Сінгх | Делі | 4 | 7798092341 | 38700 |
2 | Сакші Кумарі | Ченнаї | 5 | 8190567342 | 25000 |
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 сортує записи в порядку спадання.
Ви отримаєте наступний результат:
ДОПОМОГА | Ім'я | WorkArea | Прибуток_Відсоток | Контактний номер | Зарплата |
---|---|---|---|---|---|
9 | Анушка Тріпаті | На пальцях | 9 | 8909124326 | 38000 |
6 | Рохіні Кулкарні | Амбала | 8 | 7890945612 | 25670 |
10 | Девіка Шарма | Гоа | 7 | 7864523145 | 44050 |
7 | – сказала Швета | Чандігарх | 6 | 8898786453 | 31670 |
2 | Сакші Кумарі | Ченнаї | 5 | 8190567342 | 25000 |
5 | Паллаві Сінгх | Делі | 4 | 7798092341 | 38700 |
4 | Шивані Море | Пуна | 3 | 8894236789 | 35500 |
3 | Прачі Десай | Мумбаї | 2 | 9056123432 | 60000 |
8 | Сонакші Тіварі | Удайпур | 2 | 9809453421 | 25050 |
1 | Гурпріт Сінгх | Бангалор | 1 | 9989675432 | 43000 |
Усі записи в таблиці агентів відображаються в порядку зменшення відсотка прибутку агента.