GROUP BY(分组)的使用
文章目录
- 单列分组
- 多列分组
- 总结
可以使用GROUP BY子句将表中的数据分成若干组
明确:WHERE一定放在FROM后面
单列分组
-- 查询各个job_id的平均工资
SELECT job_id,AVG(salary)
FROM employees
GROUP BY job_id;
多列分组
-- 查询各个department_id,job_id的平均工资
SELECT department_id,job_id,AVG(salary)
FROM employees
GROUP BY department_id,job_id
ORDER BY department_id ASC;
总结
1、SELECT中出现的非组函数的字段必须声明在GROUP BY 中。反之,GROUP BY中声明的字段可以不出现在SELECT中。
2、GROUP BY 声明在FROM后面、WHERE后面,ORDER BY 前面、LIMIT前面
3、MySQL中GROUP BY中使用WITH ROLLUP
4、使用 WITH ROLLUP 关键字之后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量
#需求:查询各个部门的平均工资,按照平均工资升序排列
SELECT department_id,AVG(salary)
FROM employees
GROUP BY department_id
ORDER BY avg_sal ASC;
注意: 当使用ROLLUP时,不能同时使用ORDER BY子句进行结果排序,即ROLLUP和ORDER BY是互相排斥的。
#以下错误
SELECT department_id,AVG(salary) avg_sal
FROM employees
GROUP BY department_id WITH ROLLUP
ORDER BY avg_sal ASC;
GROUP BY(分组)的使用相关推荐
- group by 分组后 返回的是一个同属性的集合
group by 分组后 返回的是一个同属性的集合 我们可以遍历该集合 转载于:https://www.cnblogs.com/classmethond/p/10164326.html
- 卷积网络基础知识---Group Convolution分组卷积
Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution https://www.cnblogs.com/s ...
- 详解在group by分组查询中where 和 having的用法和区别。
我地都知道sql 中 where 和 having 都是用来筛选条件的关键字. 而且having 一般和group by 一齐使用, 但是where 也可以用group by 一齐使用的. 下面用 ...
- mysql单列去重复group by分组取每组前几条记录加order by排序
<div class="post"><h1 class="postTitle"><a id="cb_post_title ...
- group by 分组函数 的用法
GROUP BY 是对结果集 进行分组 然后对每一组 ,可以对每一组进行统计 例如对每一组的某个字段进行统计 例如求和sum(column) 举个例子,我查询某个用户的某个时间段 的信息 1.没用到g ...
- mysql group by 聚合_浅析MySQL使用 GROUP BY 分组聚合与细分聚合
1. 聚合函数(Aggregate Function) MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下: 除非另有说明,否则聚合函数都会忽略空值(NULL values). 2. 聚 ...
- group by 分组
group by 分组:一般情况下group需与统计函数(聚合函数)一起使用才有意义 mysql中的五种统计函数: (1)max:求最大值 select max(goods_price) from g ...
- java中mysql分组查询_ES对应mysql的group by分组查询javaApi,多对多关系的分组查询...
ES对应mysql的group by分组查询javaApi,多对多关系的分组查询 比如我这边有个下列订单索引数据,现在的需求是按用户(fmerchantId)和支付方式(fchannelId)进行分组 ...
- group by 分组后 再对所有的数据求和
SELECT category, count( category ) AS category FROM dept GROUP BY category WITH ROLLUP; WITH ROLLUP ...
- MySQL5.7用group by分组根据组中某个字段的最大值求取那条记录(注意是整条记录)
首先注意,取每组最大的数据和取每组最大的一条记录是两个概念,前者很简单直接分组,max()即可.另外由于我的是5.7.24版本,5.7版本普遍存在一个问题,就是select的字段只能是group by ...
最新文章
- Mac下布置appium环境
- perl unload gbk oracle 数据库
- 16、子查询改写为表连接
- python opencv SIFT,获取特征点的坐标位置
- SharePoint 2010 使用自定义aspx页面替换列表默认的新建(NewForm.aspx),查看(DispForm.aspx)和编辑(EditForm.aspx)页面...
- 使用cocoaPods一键集成第三方登录(新浪微博,qq,微信)
- oracle11g设置数据库归档,oracle_Oracle11g RAC开启关闭、设置归档小结,关闭
1.先关数据库:
复制代 - phpStudy...
- ssis for循环容器_使用SSIS ForEach Loop容器以日期顺序处理文件
- tiptop 编译运行_ERP(tiptop linux下主要命令)
- 高等数学第七版同济大学课后习题讲解下册 pdf(免费)
- 如何对技术人员进行绩效考核?
- ios safari 模拟器_iOS 模拟器调试大法了解一下?
- HyperMesh入门笔记
- 无人机+强化学习开源项目、工具包汇总
- Oracle AutoVue 21.0.2.4 支持的文件格式
- VSCode软件介绍
- 基于JAVA的工资管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 高并发常见的解决方案
- Java Hutool 汉字转拼音码
- 三元前驱体废水除镍钴锰
热门文章
- DO、PO、DAO、VO、DTO
- 代码块(普通代码块、构造代码块、静态代码块、同步代码块)、初始化(类初始化、对象初始化)
- 蓝桥杯java初赛本科组,2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题...
- 追赶ChatGPT,我们的差距在哪里?
- 测量50A以上电流:意瑞隔离集成式电流传感器CH704
- Java 从服务器下载文件到本地
- 【粉丝限时福利】个人技术社区正式开始搞福利活动咯。。。奖品丰厚。。。
- ROS学习笔记——基于Prometheus无人机开源项目仿真环境配置
- Mysql查询每个月的最后一天
- 深度学习环境配置7——(30系显卡)windows下的tensorflow-gpu==2.4.0环境配置