按列中的属性排序SQL

时间:2016-06-02 07:52:18

标签: php mysql

我希望按latest date订购一些记录,然后status=wait然后status=cancel以及最后status=enrolled

SqlDatabase

    #   Name    Type    Collation   Attributes  Null    Default
     1  id  int(11)  No None    AUTO_INCREMENT  Change Change   Drop Drop   

     2  name    varchar(100)    latin1_swedish_ci       No  None        



    3   status  varchar(256)    latin1_swedish_ci       No  wait    


   4    date    datetime            No  CURRENT_TIMESTAMP   

目前我正在使用此查询,但

SELECT * FROM demo ORDER BY date desc,status='wait' desc,id desc,status='enrolled' asc,status='cancel' asc LIMIT 10

这个查询没有给我预期的结果,请帮帮我。

1 个答案:

答案 0 :(得分:1)

您将它们的顺序混合了一点,这应该按照您在问题中提供的逻辑排序。

SELECT * FROM demo
ORDER BY date desc,
         status='wait' desc,
         status='enrolled' desc,
         status='cancel' desc,
         id desc 
LIMIT 10