MySQL聚合统计

【数据库】MySQL聚合统计

王笃笃-CSDN博客https://blog.csdn.net/wangduduniubi?type=blog显示平均工资低于2000的部门和它的平均工资

mysql> select deptno,avg(sal) deptavg from emp group by deptno;

+--------+-------------+

| deptno | deptavg |

+--------+-------------+

| 20 | 2175.000000 |

| 30 | 1566.666667 |

| 10 | 2916.666667 |

+--------+-------------+

3 rows in set (0.01 sec)

mysql> select deptno,avg(sal) deptavg from emp group by deptno havingdeptavg<2000;

+--------+-------------+

| deptno | deptavg |

+--------+-------------+

| 30 | 1566.666667 |

+--------+-------------+

having对聚合后的数据进行条件筛选。

having 和 where 的区别

条件筛选的阶段不同

mysql> select deptno,job,avg(sal) myavg from emp where ename != 'SMITH' group by deptno,job having myavg<2000;

+--------+----------+-------------+

| deptno | job | myavg |

+--------+----------+-------------+

| 30 | SALESMAN | 1400.000000 |

| 20 | CLERK | 1100.000000 |

| 30 | CLERK | 950.000000 |

| 10 | CLERK | 1300.000000 |

+--------+----------+-------------+

where

对具体的任意列进行条件筛选

having

对分组聚合之后的结果进行条件筛选。

条件筛选的阶段不同

1

from emp

2

where ename != 'SMITH'

3

group by deptno,job

4

deptno,job,avg(sal) myavg

5

having myavg<2000;

中间筛选出来的和最终结果------>全部可以看做是逻辑上的表-->mysql 中一切皆表

相关推荐
星纬智联技术18 分钟前
给 Amp 配置自定义 API:CLIProxyAPI 接入教程
运维·服务器·数据库
浩~~25 分钟前
极客大挑战2019-LoveSQL
数据库
码农阿豪31 分钟前
Go 语言操作金仓数据库(上篇):环境搭建与连接管理
开发语言·数据库·golang
码农阿豪36 分钟前
Go 语言操作金仓数据库(下篇):SQL 执行、类型映射与超时控制
数据库·sql·golang
IronMurphy38 分钟前
Redis拷打第二讲
数据库·redis·缓存
星月昭铭1 小时前
5步在Trae中配置SQLcl MCP,让AI直接操作Oracle数据库
数据库·oracle·ai编程
phltxy1 小时前
Redis Set:原理、命令与实战场景详解
数据库·redis·缓存
他是龙5511 小时前
SQLi-Labs 通关笔记(Less-38 ~ Less-53):堆叠注入与 ORDER BY 注入
数据库·笔记·less
今天也是元气满满的一天呢1 小时前
20260512-SQL学习大览
数据库·sql·学习
北秋,1 小时前
Web Security Academy 第二关:SQL 注入登录绕过
数据库·sql