我正在尝试按字母名称排序列表,除非该行有一个组,否则我希望使用该组。grouped
也可以是 NULL 或空字符串。
例如:
name grouped
a NULL
b
c a
d
将被订购为:
a,c,b,d
这就是我所拥有的
SELECT name FROM table ORDER BY COALESCE(grouped, name)
我也试过:
SELECT name FROM table ORDER BY CASE WHEN LENGTH(grouped) = 0
THEN name ELSE grouped END
但是这些解决方案都不能正常工作,它们最终会首先显示所有分组的项目,而不是像我期望的那样与名称混合。