聚合函数 Aggregate Function
2024-09-02 11:47:36
聚合函数是用来统计每个分组的统计信息,它们要跟 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;
最新文章
- php-fpm重启关闭等操作
- 堆排序(c++第一次尝试)
- poj3461 Oulipo(KMP模板)
- QT 第三方串口库COM10以上无法读取问题
- 深入理解HTML表格
- Primer – 支撑 GitHub 的 CSS 工具包和准则
- bug-android之INSTALL_FAILED_NO_MATCHING_ABIS
- [问题2014S15] 解答
- 我也要学C语言-第十九章:命令行参数
- Python代码性能优化技巧
- 转:Linux Shell编程入门
- 一篇哥们自己的写的IBM电话面试感想-@大国
- 连接MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
- 快速制作U盘启动盘和U盘安装盘的方法
- node基础—process对象(管理进程)
- (转)常用的 TCP KeepAlive 参数
- odp.net连接方式,部署问题总结
- python全栈开发笔记---基本数据类型--字符串魔法
- /dev/null和/dev/zero的区别
- tablayout在中间显示
热门文章
- Web(八) commons-fileupload上传下载
- Selenium 2自动化测试实战15(多表单切换)
- 阶段3 2.Spring_10.Spring中事务控制_2 作业-基于注解的AOP实现事务控制及问题分析_上
- 连接Xshell
- 模仿抽奖转盘,并且用cookie记录历史次数
- 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
- cocos2dx[3.2](9) 新回调函数std::bind
- LeetCode.1037-有效的回旋镖(Valid Boomerang)
- A1139-引爆炸弹 计蒜客 bfs剪枝
- 配置本地访问远程Linux系统服务器的jupyter notebook