聚合函数是用来统计每个分组的统计信息,它们要跟 group by 一起使用,用来将每个分组所有数据 聚合 成一条统计数据。

包括 max/min/count/avg/sum 等。

-- 按照部门进行分组统计的语句
select deptno, -- 因为按照 deptno 分组,select 中只能有 deptno 字段
count(*), -- 每个分组多少条数据
max(sal), -- 每个分组工资的最大值
min(sal), -- 每个分组工资的最小值
avg(sal), -- 每个分组工资的均值
sum(nvl(comm, 0)) -- 每个分组奖金总和,因为奖金可能为 null,所以需要使用 nvl 进行去空
from emp
group by deptno; -- 分组依据 -- 可以用 having 对结果进行过滤
-- 整个 select 语句执行顺序大致是: where -> group by -> having -> order by
select deptno, count(*), max(sal), min(sal), avg(sal), sum(comm)
from emp
group by deptno
having avg(sal) > 2000; -- having 等价于嵌套的 where,即上面语句跟下面这条等效。
select * from (
select deptno, count(*), max(sal), min(sal), avg(sal) asal, sum(comm)
from emp
group by deptno
) where asal > 2000;

最新文章

  1. php-fpm重启关闭等操作
  2. 堆排序(c++第一次尝试)
  3. poj3461 Oulipo(KMP模板)
  4. QT 第三方串口库COM10以上无法读取问题
  5. 深入理解HTML表格
  6. Primer – 支撑 GitHub 的 CSS 工具包和准则
  7. bug-android之INSTALL_FAILED_NO_MATCHING_ABIS
  8. [问题2014S15] 解答
  9. 我也要学C语言-第十九章:命令行参数
  10. Python代码性能优化技巧
  11. 转:Linux Shell编程入门
  12. 一篇哥们自己的写的IBM电话面试感想-@大国
  13. 连接MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
  14. 快速制作U盘启动盘和U盘安装盘的方法
  15. node基础—process对象(管理进程)
  16. (转)常用的 TCP KeepAlive 参数
  17. odp.net连接方式,部署问题总结
  18. python全栈开发笔记---基本数据类型--字符串魔法
  19. /dev/null和/dev/zero的区别
  20. tablayout在中间显示

热门文章

  1. Web(八) commons-fileupload上传下载
  2. Selenium 2自动化测试实战15(多表单切换)
  3. 阶段3 2.Spring_10.Spring中事务控制_2 作业-基于注解的AOP实现事务控制及问题分析_上
  4. 连接Xshell
  5. 模仿抽奖转盘,并且用cookie记录历史次数
  6. 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
  7. cocos2dx[3.2](9) 新回调函数std::bind
  8. LeetCode.1037-有效的回旋镖(Valid Boomerang)
  9. A1139-引爆炸弹 计蒜客 bfs剪枝
  10. 配置本地访问远程Linux系统服务器的jupyter notebook