我正在尝试完成这段代码:
ORDER BY IF(j.groups IS NULL OR j.groups = '', IF(j.title IS NULL, i.title), j.groups)
在英语中:如果存在则首先按 j.groups 排序,如果存在则按 j.title 排序,最后按 i.title 排序。但是上面的方法是行不通的。
最佳答案
试试这个:
ORDER BY IF(j.groups IS NULL OR j.groups = '', IFNULL(j.title, i.title), j.groups);
或
ORDER BY COALESCE(j.groups, j.title, i.title);
或
ORDER BY IF(j.groups IS NULL OR j.groups = '', IF(j.title IS NULL, i.title, 1), j.groups);
关于MySQL 分层 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14151286/