SELECT * FROM case_study ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 3 WHEN expiry_date_case IS NULL THEN 2 WHEN expiry_date_case < CURDATE() THEN 1 END DESC
上面的查询工作很好,但是我想在一个案例中按ASC中的到期日期排序,在一个案例中按DESC排序.如何实现这个应该是这样的事情
伪查询
WHEN expiry_date_case > CURDATE() THEN 3 expiry_date_case ASC WHEN expiry_date_case IS NULL THEN 2 WHEN expiry_date_case < CURDATE() THEN 1 expiry_date_case DESC
这是一种更通用的排序形式,您可以使用多个条件进行排序而不是日期
原文链接:https://www.f2er.com/php/134301.htmlSELECT * FROM case_study ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 3 WHEN expiry_date_case IS NULL THEN 2 WHEN expiry_date_case < CURDATE() THEN 1 END DESC,case when expiry_date_case > CURDATE() then expiry_date_case end,case when expiry_date_case < CURDATE() then expiry_date_case end desc