案例按顺序被忽略

时间:2014-02-22 15:52:03

标签: mysql

ORDER BY CASE WHEN DATE_FORMAT(CURDATE(),'%w') = 0 THEN 'day DESC' ELSE 'day ASC' END, orderby ASC

非常简单的查询,总是按天排序,如果今天是星期日然后排序降序,如果不是那么排序升序。但它总是被忽略,只能按orderby字段排序。

1 个答案:

答案 0 :(得分:2)

你想要这样的东西:

ORDER BY
  CASE
    WHEN DATE_FORMAT(CURDATE(),'%w') = 0
      THEN `day` 
    END DESC,
  CASE
    WHEN DATE_FORMAT(CURDATE(),'%w') <> 0
      THEN `day` 
    END ASC, 
  `orderby` ASC