Сортировка результатов, часть 2
Часть раздела Основы путешествия по SQL на Coddy — урок 14 из 72.
При использовании ORDER BY в SQL вы можете сортировать данные по нескольким столбцам.
Например, рассмотрим следующую competition таблицу:
| runner_id | age | avg_speed (m/s) |
|---|---|---|
| 1 | 47 | 3.65 |
| 2 | 62 | 3.07 |
| 3 | 57 | 6.82 |
| 4 | 56 | 4.34 |
| 5 | 25 | 4.93 |
| 6 | 40 | 3.94 |
| 7 | 23 | 6.58 |
| 8 | 40 | 3.43 |
SELECT *
FROM competition
WHERE age < 50
ORDER BY age DESC, avg_speed DESCЭтот запрос будет:
- Сначала отсортирует все записи по age в убывающем порядке (от наибольшего к наименьшему)
- Если две или более записи имеют одинаковый age, то затем отсортирует эти конкретные записи по avg_speed в убывающем порядке (от наибольшего к наименьшему)
Результат:
| runner_id | age | avg_speed (m/s) |
|---|---|---|
| 1 | 47 | 3.65 |
| 6 | 40 | 3.94 |
| 8 | 40 | 3.43 |
| 5 | 25 | 4.93 |
| 7 | 23 | 6.58 |
Задание
ЛегкоДоступные таблицы и столбцы:
feathers:id,weight,area
Верните все id после упорядочивания их по area в порядке убывания. Если перья имеют одинаковую area, сортируйте их по weight в порядке возрастания.
Шпаргалка
Вы можете сортировать данные по нескольким столбцам с помощью ORDER BY. Первый указанный столбец имеет приоритет, а последующие столбцы используются как критерии разрешения ничьих:
SELECT *
FROM competition
ORDER BY age DESC, avg_speed DESCЭто приведет к:
- Сначала сортировке по age в порядке убывания
- Если записи имеют одинаковый age, то сортировке по avg_speed в порядке убывания
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Больше ключевых слов
Ключевое слово INКлючевое слово BETWEENКлючевое слово LIKEКлючевое слово ASПовторение - Модели мобильных телефонов2Условия
Основы условийКлючевое слово ANDКлючевое слово ORКлючевое слово NOTКомбинирование нескольких условийСкобкиБулевы значения5Арифметические операции
Математические операторыМатематические столбцыОперация moduloФункция ROUND()3Специальный формат возврата
Значения NULLСортировка результатов, часть 1Сортировка результатов, часть 2Повторение - Фирма по кибербезопасностиОграничение количества записейПовторение - Автозавод6Вводные вызовы
Повторение - Парламентские выборыПовторение - Арест преступника полициейПовторение - Ёмкость для напитков в бареПовторение - Создание новых столбцов