Приоритет при сортировке результатов Select-запроса
Добрый день! Допустим, есть таблица Table1 с 1 столбцом (ID) и 4000 строк, где значения ячеек - числа от 1 до 4000. Пишется запрос:
Код:
Select ID from Table1 where ID>200 and ID<500 or ID>900 and ID<1500 or ID>3000 and ID<3300
В запросе выбираются значения из 3-х интервалов: [200;500], [900;1500], [3000;3300]. Как задать разный приоритет интервалам при сортировке результатов поиска? Например, сначала [900;1500], потом [200;500], потом [3000;3300]. Специально привожу именно такую последовательность, чтобы нельзя было воспользоваться оператором "order by", т.к. он не подходит для реальной задачи.
|
Код:
(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
|
Время: 17:53.
© OSzone.net 2001-