ORDER BY CASE WHEN DATE_FORMAT(CURDATE(),'%w') = 0 THEN 'day DESC' ELSE 'day ASC' END, orderby ASC
非常简单的查询,总是按天排序,如果今天是星期日然后排序降序,如果不是那么排序升序。但它总是被忽略,只能按orderby
字段排序。
答案 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