【发布时间】:2014-04-05 18:30:15
【问题描述】:
尝试将列名不为空作为第一列,如果第一列为空但不是第二列不为空等等。
表:
id name1 name2 name3
1. a b
2. a1 c
3. b1 c1
4. c2
5. c3
6. a2
7. b2 c4
8. a3
预期结果
id
1
2
6
8
3
7
4
5
我尝试使用 COALESCE AND IFNULL 但它返回零结果。
【问题讨论】:
-
考虑提供适当的 DDL(和/或 sqlfiddle)。
-
ORDER BY IF(ISNULL(my_field),1,0),my_field; -
这个架构可能会从规范化中受益。