SQL使用少于in来排序结果

时间:2015-12-06 17:57:01

标签: php mysql sql

如果有一个像下面这样的表:

id   title
1    a
2    b
3    c
4    d

我想知道是否有一种方法可以通过首先选择id小于3的行按id降序排序来选择顺序中的行,而不是按id降序选择其余的行,所以在这种情况下,行2,1,4,3。我想知道是否有类似这样的sql语句:

SELECT * FROM tablename ORDERY BY id<'3' id DESC, id DESC

2 个答案:

答案 0 :(得分:3)

您可以在order by中使用多个表达式:

order by id < 3 desc,
         id desc

这与你的表达很接近,但你还有一个额外的id

答案 1 :(得分:0)

它会像戈登的回答一样。但我认为这对理解更有意义。

ORDER BY CASE id < 3 THEN 1, ELSE 0 END DESC,
     id DESC