码迷,mamicode.com
首页 > 数据库 > 详细

Oracle数据库(六)—— 分组函数

时间:2018-08-03 16:43:37      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:应该   src   分享图片   不为   --   UNC   res   分组   包含   

(一)组函数

avg:平均函数

max:最大值函数

min:最小值函数

sum:求和函数

stddev:标准差函数

技术分享图片

count():计数函数 

    count(expr) 返回expr不为空的记录总数

技术分享图片

 

NVL函数使分组函数无法忽略空值

技术分享图片

 

COUNT(DISTINCT expr)返回expr非空且不重复的记录总数

技术分享图片

 

(二) group by

1、对单个列分组

-- 求出employees表中各部门的平均工资

技术分享图片

 

2、对多个列分组

-- 求出employees表中各部门、各工种的平均工资

技术分享图片

  • 在SELECT 列表中所有未包含在组函数中的列都应该包含 在 GROUP BY 子句中
  • 不能在 WHERE 子句中使用组函数
  • 可以在 HAVING 子句中使用组函数

(三)having:过滤分组

使用 HAVING 过滤分组:

  1. 行已经被分组。

  2. 使用了组函数。

  3. 满足HAVING 子句中条件的分组将被显示

SELECT column, group_function

FROM table

[WHERE condition]

[GROUP BY group_by_expression]

[HAVING group_condition]

[ORDER BY column];

-- 求出各部门中平均工资大于6000的部门

技术分享图片

(四)嵌套组函数

-- 求出各部门中平均工资的最大值

 技术分享图片

(五)总结

  1. 使用组函数:avg(),sum(),max(),min(),count()
  2. 在查询中使用 GROUP BY 子句。
  3. 在查询中使用 HAVING 子句。

 

Oracle数据库(六)—— 分组函数

标签:应该   src   分享图片   不为   --   UNC   res   分组   包含   

原文地址:https://www.cnblogs.com/wffrzh/p/9414192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!