网站首页 > 知识剖析 正文
【五】分组函数
5.1 五个分组函数
sum(); avg(); count(); max(); min()。
数值类型可以使用所有组函数
SQL> select sum(sal) sum, avg(sal) avg, max(sal) max, min(sal) min, count(*) count from emp;
MIN(),MAX(),count()可以作用于日期类型和字符类型
SQL> select min(hiredate), max(hiredate),min(ename),max(ename),count(hiredate) from emp;
COUNT(*)函数返回表中行的总数,包括重复行与数据列中含有空值的行,而其他分组函数的统计都不包括空值的行。
COUNT(comm)返回该列所含非空行的数量。
SQL> select count(*),count(comm) from emp;
COUNT(*) COUNT(COMM)
---------- -----------
14 4
5.2 GROUP BY建立分组
SQL>select deptno, avg(sal)from emp group by deptno;
group by后面的列也叫分组特性,一旦使用了group by, select后面只能有两种列,一个是组函数列,而另一个是分组特性列(可选)。
对分组结果进行过滤:
SQL>select deptno, avg(sal) avgcomm from emp group by deptno having avg(sal)>2000;
SQL>select deptno, avg(sal) avgcomm from emp where avg(sal)>2000 group by deptno;
错误的,应该使用HAVING子句。
对分组结果排序:
SQL>select deptno, avg(nvl(sal,0)) avgcomm from emp group by deptno order by avg(nvl(sal,0));
排序的列不在select投影选项中也是可以的,这是因为order by是在select投影前完成的。
5.3 分组函数的嵌套
单行函数可以嵌套任意层,但分组函数最多可以嵌套两层。
比如:count(sum(avg)))会返回错误“ORA-00935:group function is nested too deeply”.
在分组函数内可以嵌套单行函数,如:要计算各个部门ename值的平均长度之和
SQL> select sum(avg(length(ename))) from emp group by deptno;
the end !!!
@jackman 共筑美好!
猜你喜欢
- 2025-05-08 「干货」SQL分析函数,看这一篇就够了
- 2025-05-08 上位机外挂报表第3课---完结篇(上位机软件界面用什么做)
- 2025-05-08 SQL语言包括哪几部分?每部分都有哪些操作关键字?
- 2025-05-08 SQL 高手必备!5 步拆解复杂 SQL 逻辑,轻松驾驭数据分析
- 2025-05-08 如何计算100万个数据的平均值?MySQL的AVG函数了解下
- 2025-05-08 SQL在数据分析中怎么使用(sql 进行数据分析实例)
- 2025-05-08 SQL的GROUP BY语句和聚合函数 详解
- 2025-05-08 如何使用 SQL 视图和子查询进行复杂查询
- 2025-05-08 PostgreSQL 内置函数详解(postgresql切换数据库)
- 2025-05-08 SQL用了两年多,分享2个最常用的小技巧
- 06-30美国食品标签上的含义(美国食品标志)
- 06-305G 网络如何进行系统消息更新(5g系统升级)
- 06-30如何使用Bulk Product Update批量产品更新将产品信息提交给SAGE
- 06-30什么是VLAN? VLAN基本原理(什么是vlan 其作用是什么)
- 06-30隧道人员定位投屏操作说明(隧道人员定位系统)
- 06-30Grafana可视化平台面板之Gauge仪表和Bar Gauge条形仪表
- 06-30Web Components实践:如何搭建一个框架无关的AI组件库
- 06-30Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析|6大应用场景实战
- 最近发表
-
- 美国食品标签上的含义(美国食品标志)
- 5G 网络如何进行系统消息更新(5g系统升级)
- 如何使用Bulk Product Update批量产品更新将产品信息提交给SAGE
- 什么是VLAN? VLAN基本原理(什么是vlan 其作用是什么)
- 隧道人员定位投屏操作说明(隧道人员定位系统)
- Grafana可视化平台面板之Gauge仪表和Bar Gauge条形仪表
- Web Components实践:如何搭建一个框架无关的AI组件库
- Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析|6大应用场景实战
- 为警示“勇闯51区”的年轻人,美军方推特这个玩笑砸了自己的脚
- 威纶通触摸屏与西门子1200通讯符号寻址时,如何导入标签?
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)