Oracle数据库—— 分组函数

Posted 秋风de领域

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库—— 分组函数相关的知识,希望对你有一定的参考价值。

(一)组函数

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数据库—— 分组函数的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库—— 分组函数

Oracle通用函数,分组函数,子查询

Oracle数据库从入门到精通-分组统计查询

数据库编程2 Oracle 过滤 函数 分组 外连接 自连接

Oracle分组函数之CUBE

Oracle——分组函数