oracle组函数和分组概要记录
2017-07-13 20:58
190 查看
一. 组函数|多行函数|聚合函数 即多条记录 返回一个结果。我们需要掌握如下几个组函数:
avg 、sum、 min、 max、 count
1)、count :统计记录数 count() –>* 或一个列名
2)、max min: 最大值 最小值(– 组信息 与单条记录不能同时查询)
3)、sum:求和
4)、avg:平均值
注意:
1、组函数仅在选择列表和Having子句中有效
2、出现组函数,select 只能有组函数或分组字段
说明:
组信息 与单条记录不能同时查询
组函数 不能用在 where中,能使用的地方 select having
null 不参与运算
二. 分组: group by , 将符合条件的记录 进一步的分组
过滤组:having , 过滤组信息 ,表达式 同 where 一致
现在的结构如下
select distinct * | 字段 | 表达式 | 函数 as 别名
from 表 表别名
where 过滤行记录条件
group by 分组字段列表
having 过滤组
order by 字段列表 asc | desc
解析步骤
1)、from 2)、where 3)、group 4)、having 5)、select 6)、order by
group by :分组
1)、select 出现分组函数,就不能使用 非分组信息,可以使用 group by 字段
2)、group by字段 可以不出现 select 中 ,反之select 除组函数外的,其他字段必
须出现在group by 中
过滤组 having :
where :过滤行记录,不能使用组函数, having:过滤组 可以使用组函数.
avg 、sum、 min、 max、 count
1)、count :统计记录数 count() –>* 或一个列名
2)、max min: 最大值 最小值(– 组信息 与单条记录不能同时查询)
3)、sum:求和
4)、avg:平均值
注意:
1、组函数仅在选择列表和Having子句中有效
2、出现组函数,select 只能有组函数或分组字段
说明:
组信息 与单条记录不能同时查询
组函数 不能用在 where中,能使用的地方 select having
null 不参与运算
二. 分组: group by , 将符合条件的记录 进一步的分组
过滤组:having , 过滤组信息 ,表达式 同 where 一致
现在的结构如下
select distinct * | 字段 | 表达式 | 函数 as 别名
from 表 表别名
where 过滤行记录条件
group by 分组字段列表
having 过滤组
order by 字段列表 asc | desc
解析步骤
1)、from 2)、where 3)、group 4)、having 5)、select 6)、order by
group by :分组
1)、select 出现分组函数,就不能使用 非分组信息,可以使用 group by 字段
2)、group by字段 可以不出现 select 中 ,反之select 除组函数外的,其他字段必
须出现在group by 中
过滤组 having :
where :过滤行记录,不能使用组函数, having:过滤组 可以使用组函数.
相关文章推荐
- Hive分组统计前top N条记录
- SQL分组取每组前一(或几)条记录(排名)
- linq 分组 ,每组取时间最新的记录
- 分组查询取最大时间记录的方法Oracle
- T-SQL百万记录中分组取最大值方法ROW_NUMBER() OVER()
- 查询分组中的前几条记录
- Android开发概要记录
- group by 下 没有记录的分组字段的数量显示为0的方法
- 分组取前N记录
- 选取group by分组中特定的记录
- mysql分组取每组前几条记录(排名) 附group by与order by的研究
- SQL分组查询,结果只取最新一条记录
- Python在groupby分组后提取指定位置记录
- mysql学生成绩排名,分组取前 N 条记录
- using COALESCE() 分组结果显示成一条记录
- 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
- mysql取出每个分组中最新的记录
- PL/SQL 取每个分组第N条记录
- 如何取分组最大值记录
- 如何取出每个分组的第一条记录