Сортировка по убыванию
Чтобы отсортировать от наибольшего значения к наименьшему, напишите после столбца DESC. Это сокращение от descending — «по убыванию»:
SELECT title, released
FROM games
ORDER BY released DESC;| title | released |
|---|---|
| Knight's Oath | 2025-11-14 |
| Goal Rush | 2025-09-26 |
| Turbo Karts | 2025-06-05 |
| Star Pilots | 2025-01-23 |
| … | … |
Теперь первыми идут самые новые игры. Сортировка по убыванию переворачивает всё: сначала самые большие числа, текст от Z к A, самые поздние даты, а строки с NULL оказываются в самом конце. Здесь это Robot Rebellion и Mystery Manor, которые ещё не вышли.
Противоположность DESC — ASC, сортировка по возрастанию (от ascending). Она действует по умолчанию, поэтому ORDER BY released ASC — то же самое, что ORDER BY released. Писать её не обязательно, но иногда так запрос становится понятнее: тот, кто его читает, видит, что вы намеренно хотели сортировку по возрастанию.
DESC пригодится всякий раз, когда нужно, чтобы сверху оказалось «больше всего» чего-нибудь: самые дорогие игры, самые новые заказы, самые высокие оценки. В следующих упражнениях вы будете сочетать его с сортировкой по нескольким столбцам и с показом только первых строк.
Типичная ошибка — DESC перед столбцом. Он должен стоять после столбца, по которому идёт сортировка, поэтому такой запрос закончится ошибкой:
SELECT title, price
FROM games
ORDER BY DESC price;Error on line 1: near "price": syntax errorЗадание
- 1
Запрос в редакторе сортирует игры от самой дешёвой. Измените его так, чтобы первыми шли самые дорогие игры:
title price Knight's Oath 60 Goal Rush 50 Ice Hockey Pro 45 … … - 2
Ниже добавьте запрос, который показывает имя каждого клиента и день, когда он зарегистрировался (
joined), а сверху — клиенты, которые зарегистрировались последними:name joined Max Baker 2025-10-03 Sophie Adams 2025-08-21 Henry Scott 2025-05-06 … …