От автора: сортировка SQL производится с помощью условия ORDER BY. Оно используется для сортировки данных в порядке возрастания или убывания по одному или нескольким столбцам. Некоторые базы данных по умолчанию сортируют результаты запроса по возрастанию.
Синтаксис
Основной синтаксис условия ORDER BY, которое будет использоваться для сортировки результата в порядке возрастания или убывания, выглядит следующим образом:
1 2 3 4 |
SELECT список_колонок FROM имя_таблицы [WHERE условие] [ORDER BY столбец1, столбец2, .. столбецN] [ASC | DESC]; |
Вы можете использовать в условии ORDER BY больше одного столбца. Убедитесь, что в списке столбцов указаны все столбцы, которые вы используете для сортировки.
Пример
Рассмотрим таблицу CUSTOMERS, содержащую следующие записи:
Ниже приведен пример, который сортирует результат в порядке возрастания по столбцам NAME и SALARY.
1 2 |
SELECT * FROM CUSTOMERS ORDER BY NAME, SALARY; |
Этот код дает следующий результат:
В следующем примере приведен код, который сортирует результаты в порядке убывания по столбцу NAME.
1 2 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC; |
Этот код дает следующий результат —
Чтобы получить строки в нужном вам порядке, используется следующий запрос SELECT:
1 2 3 4 5 6 7 8 |
SELECT * FROM CUSTOMERS ORDER BY (CASE ADDRESS WHEN 'DELHI' THEN 1 WHEN 'BHOPAL' THEN 2 WHEN 'KOTA' THEN 3 WHEN 'AHMADABAD' THEN 4 WHEN 'MP' THEN 5 ELSE 100 END) ASC, ADDRESS DESC; |
Этот код дает следующий результат —
Сначала сортировка клиентов производится по полю ADDRESS в том порядке, как вы сами указали, а оставшиеся адреса сортируются естественным образом. Также оставшиеся адреса будут отсортированы в обратном алфавитном порядке.
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.