我在一个表中有多行,它们有列 status
和 edited
。 status 的值可以是 0、1、2 或 3。以下是我的查询。
SELECT * FROM orders ORDER BY FIELD(status, 1, 0, 2, 3), edited ASC
是否也可以根据这样的状态值对结果进行排序:
if status = '0' => edited DESC
if status = '1' => edited DESC
if status = '2' => edited ASC
if status = '3' => edited ASC
我可以在一个查询中执行此操作还是需要执行单独的查询?
提前致谢。
最佳答案
您应该使用 Order By Case 查询
语法
order By
CASE
WHEN status =0 THEN 0
...
END DESC
关于MySQL 基于值的排序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376278/