【sql语句】一个表中含有id和父亲id,统计父亲有多少个孩子

本文深入探讨了SQL中的计数函数count(*)、count(column)和count(1),解释了它们在处理NULL值时的不同行为,并通过具体示例展示了如何使用这些函数来统计不同情况下的行数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将表和他自己连接~

select *
from tb_comment a left join tb_comment b 
on b.c_fatherid=a.cid 

得到右侧有空的结果,空的地方count(*)会被统计,用count(column)不会被统计~

1)count(*)所有行进行统计,包含值为null的行。

2)count(column)会对指定列具有的行数进行统计,除去值为NULL的行。

3)count(1)与count(*) 的效果是一样的。


select a.cid, count(b.cid)
from tb_comment a left join tb_comment b 
on b.c_fatherid=a.cid 
group by a.cid;

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值