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

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

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

数据库分组函数:sum() 和count()区别_第1张图片
(2)下面这个是错误的
错误提示:数据类型不一致,应为number,但却获得Date

select avg(hiredate) 
from emp;

数据库分组函数:sum() 和count()区别_第2张图片
2、count() 统计总行数:统计符合条件的总行数
(1)、查询部门30有多少个员工
写法1:

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

数据库分组函数:sum() 和count()区别_第3张图片
写法2:效率高

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

数据库分组函数:sum() 和count()区别_第4张图片
写法3:

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

数据库分组函数:sum() 和count()区别_第5张图片
写法4:

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

数据库分组函数:sum() 和count()区别_第6张图片
总上所述:分组函数 count()
count(
):计算的是非空/null的总行数。
count(1):表示每一行是一个1/可以是任意数值/字符,有多少行数据就表示出现多少 次1/任意数值/字符,就不会落下有空行的不计算。
count():表示每一行是一个,有多少行数据就表示出现多少次*,就不会落下有空行的不计算。

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

3、附加 emp 表
数据库分组函数:sum() 和count()区别_第7张图片

你可能感兴趣的:(数据库分组函数:sum() 和count()区别)