SELECT *
FROM case_study
ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 1 END
WHEN expiry_date_case IS NULL THEN 2 Desc END
WHEN expire_date_case < CURDATE() THEN 3 Desc END;

当我尝试运行此查询时,我收到错误

#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
near ‘WHEN expiry_date_case IS NULL THEN 2 Desc END WHEN
expire_date_case < CURDATE() ‘ at line 4

我在哪里做错了?
最佳答案
尝试

SELECT *
FROM case_study
ORDER BY CASE WHEN expiry_date_case > CURDATE() THEN 1 
WHEN expiry_date_case IS NULL THEN 2 
WHEN expire_date_case < CURDATE() THEN 3 END Desc

你有太多的End和太多的desc

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。