Помогите составить запрос.

Flanker

незнайка
Помогите составить запрос.

Помогите выполнить запрос(за один заход)=>
Необходимо выбрать все данные но в таком порядке
- там где поле sys="sys" (отсортированное по полю date)
-всё остальное отсортированное по date.

Я выполнял эту задачу только в два разных запроса(!Влияет на скорость!), да и глаз не радует, когда можна лучше.

Спасибо.
 

sage

Новичок
один из способов решения - http://dev.mysql.com/doc/refman/4.1/en/union.html. Но:
Use of ORDER BY for individual SELECT statements implies nothing about the order in which the rows appear in the final result because UNION by default produces an unordered set of rows.
 

voituk

прозревший
sage
Может я неправильно понял вопрос но вроде можно без UNION:
[sql]
select * from blahblah ORDER BY if(sys="sys",0,1), date
[/sql]
 

sage

Новичок
voituk
бАльшое тебе спасибо! просто есть у меня похожая ситуация - решал с помощью UNION, а благодаря тебе всё изменилось )
 

Flanker

незнайка
Люди спасибо!

-~{}~ 14.08.06 13:36:

voituk, ещё раз спасибо, обьясни пожайлуста, зачем нужно , 0, 1 ?

Спасибо.
 

voituk

прозревший
Flanker
В данном случае не надо.
Достаточно просто (sys<>'sys'), но в общем случае туда можно логику посложнее "запихнуть"
 
Сверху