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

【MySQL】聚合函数、group by子句

目录

聚合函数

count([distinct] column)

sum([distinct] column)

avg([distinct] column)

max([distinct] column)

min([distinct] column)

group by子句

1.如何显示每个部门的平均薪资和最高薪资

2.显示每个部门每种岗位的平均薪资和最低薪资

3.显示平均工资低于2000的部门和该部门的工资

having

4.显示平均工资低于2000的部门和该部门的工资,姓名为SMITH的雇员不参与统计

where和having有什么区别?


聚合函数

count([distinct] column)

返回查询数据的数量

sum([distinct] column)

返回查询到的数据的总和

avg([distinct] column)

返回查询到数据的平均值

max([distinct] column)

返回查询到数据的最大值

min([distinct] column)

返回查询到数据的最小值

group by子句

现在有一个雇员表,包含empno(雇员编号)、ename(雇员姓名)、job(岗位)、sal(薪资)、deptno(部门)。

1.如何显示每个部门的平均薪资和最高薪资

select deptno, max(sal) 最高,avg(sal) 平均 from EMP group by deptno;
//这里的group by语句是将部门分组,进而再通过聚合函数avg、max计算出各部门的平均薪资和最高薪资
//select 后跟depton

2.显示每个部门每种岗位的平均薪资和最低薪资

select deptno,job,avg(sal) 平均, min(sal) 最低 from emp group by deptno,job;
//group by子句后可跟多个列进行分组 

这样写可以吗?不可以

select ename,deptno,job,avg(sal) 平均, min(sal) 最低 from emp group by deptno,job;

这句指令的意思是显示各部门每种岗位的薪资平均值,并显示雇员姓名,这在逻辑上是行不通的,

在使用group by子句时,select后只能跟,group by后的字段名(列名),如果select后出现其他列名,mysql会报错。

3.显示平均工资低于2000的部门和该部门的工资

select deptno, avg(sal) depavg from emp group by deptno having depavg<2000;

having

having与group by配合使用,用于对分组后聚合统计后的数据进行筛选。

4.显示平均工资低于2000的部门和该部门的工资,姓名为SMITH的雇员不参与统计

select deptno,job, avg(sal) myavg from emp where rename != 'SMITH' group buy deptno,job having myavg<2000;

where和having有什么区别?

执行顺序不一样,对数据筛选的阶段不同。

 

http://www.lryc.cn/news/449848.html

相关文章:

  • 详细分析SpringMvc中HandlerInterceptor拦截器的基本知识(附Demo)
  • 阳光能源嵌入式面试及参考答案(2万字长文)
  • P10483 小猫爬山
  • 技术速递|加入 .NET 智能组件生态系统
  • python/requests库的使用/爬虫基础工具/
  • 【STM32-HAL库】MQ2烟雾传感器使用(STM32F407ZET6)
  • 玩转指针(3)
  • 【CSS in Depth 2 精译_040】6.3 CSS 定位技术之:相对定位(下)—— 用纯 CSS 绘制一个三角形
  • HTML流光爱心
  • java技能
  • 本省第一所!新大学,揭牌!
  • 企业微信(企微)审批与影刀RPA结合
  • 新手教学系列——用 VSCode 实现高效远程开发
  • [uni-app]小兔鲜-04推荐+分类+详情
  • PHP人才机遇桥梁招聘求职全能系统小程序源码
  • 计算机毕业设计Hadoop+Spark抖音可视化 抖音舆情监测 预测算法 抖音爬虫 抖音大数据 情感分析 NLP 自然语言处理 Hive 机器学习 深度学习
  • Linux 学习 awk 和sed 命令使用
  • 双端搭建个人博客
  • PHP 面向对象编程
  • 应急响应(1)-同事电脑
  • class 023 随机快速排序
  • 如何理解矩阵的复数特征值和特征向量?
  • 怎么查看网站是否被谷歌收录,查看网站是否被搜索引擎收录5个方法与步骤
  • Java工具--stream流
  • 什么是 JWT?它是如何工作的?
  • 微信小程序使用picker,数组怎么设置默认值
  • Springboot生成树工具类,可通过 id/code 编码生成 2.0版本
  • 17、CPU缓存架构详解高性能内存队列Disruptor实战
  • 算法训练营打卡Day18
  • 【leetcode】169.多数元素