sql 查询 group by查询count个数 某记录不存在时显示0
如图中,数据表t中数据如图:按a分组,分别统计b为1,2,3时的个数。selecta,b,count(b)as个数fromtgroupbya,b;查询结果为图中没有红色一...
如图中,数据表t中数据如图:按a分组,分别统计b为1,2,3时的个数。
select a,b,count(b) as 个数 from t group by a,b; 查询结果为图中没有红色一行的部分,想显示红色一行怎么修改sql,求会的写一下,非常感谢。 展开
select a,b,count(b) as 个数 from t group by a,b; 查询结果为图中没有红色一行的部分,想显示红色一行怎么修改sql,求会的写一下,非常感谢。 展开
1个回答
展开全部
create table t
(
id int,
a int,
b int
)
insert into t values(1,101,1)
insert into t values(2,102,1)
insert into t values(3,101,2)
insert into t values(4,102,2)
insert into t values(5,101,1)
insert into t values(6,102,3)
insert into t values(7,102,3)
--先把T表的a,b做个笛卡尔积,在跟t表做left,然后统计
select a.a,b.b,COUNT(c.id) As 个数 from
(select distinct a from t) a cross join
(select distinct b from t) b
left join t c on a.a=c.a and b.b=c.b
Group by a.a,b.b
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询