2011-09-19 47 views

回答

8

你可以做

ORDER BY (id = 12) DESC, someOtherColumn 

这将id是否等于12第一(导致无论是01,因此DESC把阳性结果第一),那么任何其他列(或多个)命令你可以指定用于排序。

+0

让我说,这很好地解决发现至今。之前我曾使用ORDER BY FIELD(field,val)DESC。这相当于您的解决方案吗? – albanx

0

执行两个查询。第一个查询将返回只记录与ID = 12,第二个查询将商定一个比12

SELECT * FROM <table> WHERE id=12; 

SELECT * FROM <table> WHERE id!=12; 
+0

但是:第一个为什么使用两个查询?第二,如果你想结合更多的参数,并有更复杂的ORDER BY? – Helmut