mysql 嵌套函数_MySQL 聚合函数嵌套使用
MySQL 中聚合函数不可用直接嵌套使用,比如: MAX(AVG(sal))、MAX(COUNT(*))...
解决思路:可以使用嵌套子查询,先分组取出被嵌套的聚合函数结果,再使用外聚合函数嵌套。
(应该有更合适方式,待补充)
示例:
-- 查询平均工资最高的部门信息
SELECT deptno, MAX(SELECT AVG(sal) FROM emp GROUP BY deptno) FROM emp; -- 错误语法
SELECT MAX(AVG(sal)) FROM emp GROUP BY deptno; -- Invalid use of group function Oracle 可用
SELECT deptno, AVG(sal) FROM emp GROUP BY deptno;
SELECT e.deptno, MAX(e.avg_sal) FROM (SELECT deptno, AVG(sal) avg_sal FROM emp GROUP BY deptno) e ; -- 错误
SELECT * FROM emp ORDER BY sal DESC;
SELECT empno, ename, job, mgr, hiredate, MAX(sal), deptno FROM emp ; -- 错误
SELECT e.empno, e.ename, e.job, e.mgr, e.hiredate, AVG(e.sal), e.deptno FROM emp e,( SELECT MAX(e1.avg_sal) max_avg_sal FROM (SELECT AVG(sal) avg_sal, deptno FROM emp GROUP BY deptno) e1) e2 GROUP BY deptno HAVING AVG(e.sal) = e1.max_avg_sal; -- 错误
SELECT
AVG( e.sal ),
e.deptno
FROM
emp e,
(SELECT AVG( sal ) avg_sal, deptno FROM emp GROUP BY deptno) ea1,
(SELECT MAX(ea.avg_sal) ma FROM (SELECT AVG( sal ) avg_sal FROM emp GROUP BY deptno) ea) ea2
WHERE
e.deptno = ea1.deptno AND ea1.avg_sal = ea2.ma
GROUP BY
deptno ; -- 正确(???)
Oracle 中可以直接嵌套聚合函数,非常方便,难道 MySQL 中没有更好的方法吗?应该是有
mysql 嵌套函数_MySQL 聚合函数嵌套使用相关推荐
- mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响
未用聚合函数时 select create_date FROM unlimited_user_history WHERE 1 != 1; 筛选结果为0件 但是用了聚合函数 select M ...
- mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述
MySQL版本:5.7+ 一.MySQL 5.7中的聚合函数 MySQL 5.7中的聚合函数如下: 除非另有说明,否则组合函数会忽略NULL值. 如果在不包含Group By子句的语句中使用组合函数, ...
- mysql有rollup函数_MySQL 聚合函数(二)Group By的修饰符——ROLLUP
一.ROLLUP 修饰符的意义 GROUP BY子句允许添加WITH ROLLUP修饰符,该修饰符可以对分组后各组的某个列的结果值进行汇总,并在结果中输出,即提供更高一级的聚合操作. 因此,ROLLU ...
- mysql case when 聚合函数_mysql聚合函数
group_concat 可以对分组查询后的值进行拼接,如 select a group_concat(b) from z group by a; 就会按a列分组,b列对应聚合结果以逗号进行分隔 ...
- MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询
第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...
- MySQL中的组函数(聚合函数)
MySQL中的组函数(聚合函数) 组函数操作行集,给出每组的结果.组函数不象单行函数,组函数对行的集合进行操 作,对每组给出一个结果.这些集合可能是整个表或者是表分成的组. 一.组函数与单行函数的区别 ...
- MySQL中的常用函数和聚合函数
常用函数和聚合函数 官网:https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html 常用函数: -- ===== ...
- mysql 求平均数 (AVG聚合函数)
mysql 求平均数 (AVG聚合函数) SELECT ROUND(AVG(score),3) AS 平均分 FROM grade AVG:平均数 聚合函数 ROUND:四舍五入 3:保留三位小数
- MySQL专题四——MySQL函数(聚合函数)
MySQL聚合函数 1.聚合函数介绍 什么是聚合函数 聚合函数作用于一组数据,并对一组数据返回一个值 聚合函数类型 AVG() SUM() MAX() MIN() COUNT() 聚合函数语法 SEL ...
最新文章
- 开发者如何构建技术影响力
- LTE基带芯片出货量首次超过50%
- 服务器开机修改grub,修改 grub
- 机器学习特征表达——日期与时间特征做离散处理(数字到分类的映射),稀疏类分组(相似特征归档),创建虚拟变量(提取新特征) 本质就是要么多变少,或少变多...
- 命主属性是水什么意思_涧下水命是什么水 涧下水命的含义(图文)
- Mysql安装及自动化部署脚本方案
- spring mvc 异步_DeferredResult – Spring MVC中的异步处理
- liigo:爱可视70平板电脑使用感受,遗憾与满足并存
- 中职计算机属于专业课还是文化课,对中职计算机专业建设探讨.doc
- 「野性消费」也不怕!打造供应链数据平台,业务逻辑模板都在这了
- 机器学习ai选股_自带AI机器学习的MEMS了解一下
- Java 读取excel 需要的jar_java自定义jar包读取Excel(包含2003和2007)数据,并举例说明...
- socat命令如何监听Linux串口设备通讯报文
- leach算法的实现过程_LEACH算法的MATLAB代码.doc
- 实数系与实数定理(下)
- 微软live服务器地址,在Mail中设置windows Live hotmail方法
- html图片文字下方,css图片下边怎么加字
- 2021-10-27 求方向盘转角
- import librosa 出错???
- oracle ogg下载安装,【OGG】OGG的下载和安装篇