2014-12-03 50 views

回答

0

被排您應該從應用程序做到這一點,或者你可以做工會

SELECT field_id, ... FROM table WHERE field_id = 5 

UNION 

SELECT field_id, ... FROM table WHERE field_id != 5 ORDER BY field_id 
+0

我會用'工會all'。 'union'速度較慢,可能會產生不希望有的刪除重複行的副作用。除此之外,即使您忽視了MySQL可以通過像sgeddes @suggested這樣的布爾條件進行排序的事實,也可以在沒有union的情況下以更簡單的方式解決此特定問題。此外,不'order by'適用於整個結果,如果是這樣(我認爲它),這個答案將不起作用。 – GolezTrol 2014-12-03 22:26:20

4

可以使用條件排序:

ORDER BY Field_id = 5 DESC, field_id DESC 

SQL Fiddle Demo

+0

不錯。我不知道你可以通過這樣的布爾狀況來排序。但即使沒有這樣的情況,當Field_id = 5 then 0 else 1 end,field_id DESC'時,你可以按'if(Field_id = 5,0,1)'或更多跨數據庫兼容情況進行排序。 – GolezTrol 2014-12-03 22:30:22