SQL|count加条件的使用

本文详细介绍了SQL中count函数的应用技巧,包括如何处理NULL值、条件计数等,并提供了多种计数方法的对比,帮助读者更好地理解和运用SQL进行数据统计。

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

1.count(student_id) 返回学生id的行数,如果是null,则不计入
2.如果需要得到【成绩为90分】以及缺考的学生(成绩为null)人数,count(score = 90 or null)
为什么要加 or null 部分呢?
因为当score = 90 时返回为True,score不等于90时返回为False,而只有值为null时不计数,无论是True还是False都会计数。
3.还可以通过其他两种方式获得限制条件后的记录数量。
如果需要得到【成绩大于90分】的学生人数,
(1)sum (case when score > 90 then 1 else 0 end)
(2)count (if(score > 90, 1, null))
或者可以省略去if函数里的null,if函数会判断score函数是否大于90,如果满足返回1,不满足默认返回null
count (if(score > 90, 1))
综上所述,count加条件的核心依据是count对null不计数
4.如果想对null值也同样计数,可使用count(1),count(1)会对所有行计数
eg:通过【成绩】统计有多少学生参加考试,包括缺考

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值