当一些项目组合在一起时,如何对项目进行排序需要指导

时间:2012-08-07 23:59:59

标签: mysql

我有一张包含物品的表格:

id      name         groups 
1       a1          
2       a2           b1
3       a3
4       c1           
5       c2
6       c3           b1

如果name不存在(读取:没有条目 - null),或者groups,我想找出一种有效的方法来按groups排序这些项目}存在,使用groups排序。

因此,如果我要对下表进行排序,结果将是:

a1
a3
a2
c3
c1
c2

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果“空白”表示null'',请使用此项:

select id, name, groups
from mytable
order by if(groups is null or groups = '', name, groups)

如果“空白”仅表示null,那么这个更简单的版本将起作用:

select id, name, groups
from mytable
order by ifnull(groups, name)

答案 1 :(得分:1)

ORDER BY CASE WHEN groups = '' OR groups IS NULL THEN name ELSE groups END