微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

1.4 Oracle数据库学习教程-分组

Oracle数据库学习教程

分组函数

多行函数也叫组函数,作用与一组数据,并且对一组数据返回一个值.如AVG,COUNT,MAX,MIN,SUM等,操作的是一组数据,返回的是一个结果.


select sum(sal) from emp;  #对指定列的各行求和
select count(*) from emp;  #统计指定列的非空行
select avg(sal) from emp;  #求指定列的平均值

select sum(sal)/count(*) from emp;
# 这句也是求平均值,但是有NULL值的时候情况可能不同

#比如奖金,应该使用avg(comm)或sum(comm)/count(comm)

20211005235531


因为组函数都有滤空功能所以count(comm)只会选择有值的行

count(distinct job):查询工种

分组数据group by

select 列1,列二..,组函数().. group by 列一,列二...

注意: 在SELECT 列表中所有没有包含在组函数中的列,都必须在group by的后面出现。否则会报错.

逻辑上很容易理解:根据选择的列来进行分组,才符合我们的目的

20211006002327

过滤分组 Having

  • 不能在 WHERE 子句中使用组函数(注意)。
  • 可以在 HAVING 子句中使用组函数

select deptno,job,avg(sal) from emp group by deptno,job having avg(sal)>2000

20211006002750

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐