数据库分组函数:sum() 和count()区别

1、sum()求和 :仅用于数值类型
(1)查询职位以SALES开头的所有员工的工资和。

select sum(sal)
from emp
where job like 'SALES%';

在这里插入图片描述
(2)下面这个是错误的
错误提示:数据类型不一致,应为number,但却获得Date

select avg(hiredate) 
from emp;

在这里插入图片描述
2、count() 统计总行数:统计符合条件的总行数
(1)、查询部门30有多少个员工
写法1:

select count(*) from emp 
where deptno = 30;

在这里插入图片描述
写法2:效率高

select count(1) from emp 
where deptno = 30;

在这里插入图片描述
写法3:

select count(ename) from emp 
where deptno = 30;

在这里插入图片描述
写法4:

select count(deptno) 
from emp 
where deptno = 30;

在这里插入图片描述
总上所述:分组函数 count()
count(
):计算的是非空/null的总行数。
count(1):表示每一行是一个1/可以是任意数值/字符,有多少行数据就表示出现多少 次1/任意数值/字符,就不会落下有空行的不计算。
count():表示每一行是一个,有多少行数据就表示出现多少次*,就不会落下有空行的不计算。

count(列):表示指定列中不为null/空的行数,所以如果指定列中有空数据,就会落下有空行的不计算,count就不准确了。

3、附加 emp 表
在这里插入图片描述


版权声明:本文为weixin_44477677原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。