数据库分组函数: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 表
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值