MySQL - Приоритет при сортировке результатов Select-запроса

Ответить
Аватара пользователя
evg64

MySQL - Приоритет при сортировке результатов Select-запроса

Сообщение evg64 »

Добрый день! Допустим, есть таблица Table1 с 1 столбцом (ID) и 4000 строк, где значения ячеек - числа от 1 до 4000. Пишется запрос:



Код:

Код: Выделить всё

Select ID from Table1 where ID>200 and ID900 and ID3000 and ID

В запросе выбираются значения из 3-х интервалов: [200;500], [900;1500], [3000;3300]. Как задать разный приоритет интервалам при сортировке результатов поиска? Например, сначала [900;1500], потом [200;500], потом [3000;3300]. Специально привожу именно такую последовательность, чтобы нельзя было воспользоваться оператором "order by", т.к. он не подходит для реальной задачи.
Аватара пользователя
Coutty

Re: MySQL - Приоритет при сортировке результатов Select-запроса

Сообщение Coutty »

Код:

Код: Выделить всё

(SELECT id FROM table1 WHERE id>900 AND id<1500 ORDER BY id asc)
UNION
(SELECT id FROM table1 WHERE id>200 AND id<500 ORDER BY id asc)
UNION
(SELECT id FROM table1 WHERE id>3000 AND id<3300 ORDER BY id asc)

Ну и при желании каждый из интервалов можно сортировать в обратном порядке.



Справка:
http://www.mysql.ru/docs/man/UNION.html
Ответить

Вернуться в «Программирование и базы данных»