分组
分组在oracle中也是比较重要,在实际工作中用的也是比较多,必须掌握
一、sql语法
select xx from 表名 group by 分组列
二、执行步骤
- from 获取到数据源
- 根据数据源,进行分组
- XX 展示的是分组的数据(这里只能展示每条共性的列,和分组计算之后的值)
三、having
having 主要是对分组之后在进行筛选
3.1、SQL语法
select xx from 表名 group by xx having xx
3.2、执行步骤
- from 确认数据源
- group by 分组
- having 对分组之后的进行筛选
- select 查询满足的条数
四、行记录筛选和组记录筛选
这里的行记录筛选,主要是针对where,组记录筛选是针对having,这里如果他们同时使用,那么sql执行顺序会发生什么变化呢?
4.1 sql语法
select xx from 表 where xx group by xxx having xx
4.2 执行 过程
- from确定数据源
- where对数据源进行筛选
- group by针对筛选后的数据分组
- having针对分组后的数据进行筛选
- select 查询要展示的筛选后的最终记录