当前位置: 首页 > news >正文

MySQL聚合统计

【数据库】MySQL聚合统计

王笃笃-CSDN博客icon-default.png?t=O83Ahttps://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 having deptavg<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 中一切皆表


http://www.mrgr.cn/news/27135.html

相关文章:

  • Nginx:Web架构中的全能战士
  • 一分钟教你 全平台隔空投送文件 LoaclSend保姆级教程
  • Git换行符自动转换参数core.autocrlf的用法
  • 【零成本】七日杀 服务器搭建 异地联机 无需公网IP、服务器
  • 看Threejs好玩示例,学习创新与技术(二)
  • Java的发展史与前景
  • 小程序开发之我见
  • 分块总结:时髦之裤
  • openstack之cinder介绍
  • lightdm , xrandr , startx 桌面管理器,窗口管理器
  • ruby和python哪个好学
  • kafka之视频和图片文件
  • 进程优先级和环境变量
  • FreeRTOS常用API接口函数
  • jmeter吞吐量控制器
  • LCR 024
  • linux驱动开发-地址映射
  • I/O 多路复用:`select`、`poll`、`epoll` 和 `kqueue` 的区别与示例
  • 【python计算机视觉编程——10.OpenCV】
  • 滑动窗口算法—最小覆盖子串