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