聚合函数count()和sum()的区别

1.count()其实是对每一行数据的求和,而sum是对整个数据的求和

2.count()函数里面的参数是列名的的时候,那么会计算有值项的次数,而sum里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。但是它们两个在记录的列名的值为空或者是null时,它们都不会去统计,即COUNT(列名)和SUM(列名)都不计这条记录。

3.COUNT(*)可以计算出行数,COUNT(1)也可以计算出行数,1在这里代表一行。 count()函数里面的参数是列名的的时候,那么会计算有值项的次数。 Count(*) 比 Count ([Column Name]) 快得多,COUNT(条件表达式),不管记录是否满足条件表达式,只要非NULL就加1;SUM(条件表达式),如果记录满足条件表达式就加1,它跟count的条件是有很大的区别的,它至于满足整个条件才会加1,不像count只要不为null就加上1
---------------------


以下附上自己的查询

题目要求:      mysql查询各门课程编号、选课人数及其及格率(sc为此表)

select cou_id,count(stu_id), sum(sco_sore>60)/count(stu_id) from sc group by cou_id;

 

select cou_id,count(stu_id), count(sco_sore>60)/count(stu_id) from sc group by cou_id;

 在对成绩大于60的计数中,体现到了两者的区别。

此文为转载,下面为原文链接。


原文:https://blog.csdn.net/PTtaoge/article/details/79578417
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值