表格中的特定数据列用于对结果集进行分组。是否可以向GROUP BY添加值而不将它们包含在原始数据中,以强制显示不存在的值的分组。
例如,table student包含一个名为ks2的列,它具有以下值:
2a
3b
2a
4c
3b
带有计数的小组会这样做:
2a 2
3b 2
4c 1
但是我想强制它在结果集中包含值,例如4b:
2a 2
3b 2
4c 1
4b 0
答案 0 :(得分:2)
这是一个不寻常的请求,但您可以应用union
技巧。
http://sqlfiddle.com/#!3/92fa4/3
SELECT s.ks2,count(1)
FROM student s
GROUP BY s.ks2
union
select '4b',0
from student s
答案 1 :(得分:0)
With s as (SELECT s.ks2 ad 'd'
FROM student s
union all
select '4b' from student s)
Select d,count(d)
From s
Group by d