Php 使用小于的SQL对结果进行排序

Php 使用小于的SQL对结果进行排序,php,mysql,sql,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 SELECT*FROM tablename ORDERY BY id您可以在order BY中使

如果有如下表格:

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

SELECT*FROM tablename ORDERY BY id您可以在
order BY
中使用多个表达式:

order by id < 3 desc,
         id desc
order by id<3 desc,
id描述

这与表达式很接近,但其中有一个额外的
id

您可以按
顺序使用多个表达式:

order by id < 3 desc,
         id desc
order by id<3 desc,
id描述

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

它将与Gordon的答案相同。但我认为这对理解更有意义

ORDER BY CASE id < 3 THEN 1, ELSE 0 END DESC,
     id DESC
按案例id排序<3然后是1,否则为0结束描述,
id描述

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

ORDER BY CASE id < 3 THEN 1, ELSE 0 END DESC,
     id DESC
按案例id排序<3然后是1,否则为0结束描述,
id描述