Mysql中根据多个条件排序:(各个条件间使用逗号隔开)
首先根据class_name字符串长短升序排列,然后根据开始时间降序排列:
- SELECT * FROM signup_class s ORDER BY IFNULL(length(trim(s.class_name)),0) ASC,s.date_start DESC
注释:
trim(s.class_name):去除字符串中的空格
length(trim(s.class_name):去除空格后字符串长度
ifnull(expr1,expr2):如果不是空,取expr1;如果是空,取expr2
asc:升序进行排序;
desc:降序进行排序。
length(trim(s.class_name):去除空格后字符串长度
ifnull(expr1,expr2):如果不是空,取expr1;如果是空,取expr2
asc:升序进行排序;
desc:降序进行排序。