我需要对结果进行排序,以便status列为特定值的所有项目首先出现,然后按日期显示。
我试过这个:
SELECT Id, Status, CreatedAt FROM Table
ORDER BY (Status=1) DESC, CreatedAt我想我会在(Status=1)上得到一个布尔值,所以按DESC排序将true (1)值放在顶部。
但是我得到了一个语法错误。这是可能的吗?如果可能,正确的语法是什么?
谢谢!
发布于 2013-03-26 21:55:04
您还可以在ORDER BY中使用CASE
SELECT Id, Status, CreatedAt
FROM Table
ORDER BY
CASE WHEN Status = 1 THEN 0 ELSE 1 END ASC,
CreatedAt ASC发布于 2013-03-26 21:54:27
尝尝这个
SELECT Id, Status, CreatedAt FROM Table
ORDER BY (case when Status=1 then 1 else 2 end), CreatedAthttps://stackoverflow.com/questions/15638799
复制相似问题