MySQL基于值对列进行排序

MySQL基于值对列进行排序,mysql,sql-order-by,Mysql,Sql Order By,我在一个表中有多行,它们有列status和edited。状态值可以是0、1、2或3。以下是我的疑问 按订单字段(状态,1、0、2、3)从订单中选择*,编辑ASC 是否可以根据状态值对结果进行排序,如下所示: if status = '0' => edited DESC if status = '1' => edited DESC if status = '2' => edited ASC if status = '3' => edited ASC 我可以在一个查询中执

我在一个表中有多行,它们有列
status
edited
。状态值可以是0、1、2或3。以下是我的疑问

按订单字段(状态,1、0、2、3)从订单中选择*,编辑ASC
是否可以根据状态值对结果进行排序,如下所示:

if status = '0' => edited DESC
if status = '1' => edited DESC
if status = '2' => edited ASC
if status = '3' => edited ASC
我可以在一个查询中执行此操作,还是需要执行单独的查询?

提前感谢。

您应该使用案例查询

语法

 order By   
    CASE 
           WHEN status =0 THEN 0 
             ...

        END DESC 

也请选中此查询以获得已排序的输出:

按字段(状态,0,1)说明、字段(状态,2,3)ASC、已编辑ASC从测试顺序中选择*


你的意思是如果状态为'0'=>编辑的描述等等吗?@Abhik,是的。谢谢你的提问,我编辑了我的帖子。不确定数据,但这可能对你有帮助@Abhik,非常感谢。真管用!