ORACLE分组函数

                  ORACLE分组函数

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Oracle sql * plus  PLSQL Developer

作者:叶

撰写时间:2019年01月01日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

分组查询:(多行函数 多行返回一行)

AVG ()    对数值类型求平均值

SUM ()    对数值类型求和

MAX ()    对任何类型求最大值

MIN ()     对任何类型求最小值

COUNT () 返回表中记录总数(任何类型)

在分组函数中我们可以用AVG(平均值)、SUM(合计) 对数值类型使用AVG 和SUM 函数,

MIN(最小值)、MAX(最大值) 可以对任意类型的数据使用MIN 和MAX 函数。

SELECT SALARY, AVG (SALARY) AS “平均值”, SUM (SALARY) AS “求和” FROM EMPLOYEES

GROUP BY SALARY;  

                   

SELECT LAST_NAME, MAX (SALARY) AS “最大值”, MIN (HIRE_DATE) AS “最小值” FROM EMPLOYEES

GROUP BY LAST_NAME;

                 

 

     COUNT(计数) 函数:COUNT(*) 返回表中的记录总数,适用于任意数据类型,

返回的值不为空的记录总数:不计算空值。

 

SELECT COUNT (SALARY) AS “钱数”, COUNT (MANAGER_ID) AS “人数” FROM EMPLOYEES;

                  

      我们用组函数来查询空值,要使用NVL函数,先把空值转换成一个对结果集

没有影响的值,再用组函数。

 

SELECT AVG (COMMISSION_PCT) AS “数值1” FROM EMPLOYEES;

SELECT AVG (NVL (COMMISSION_PCT, 0)) AS “数值2” FROM EMPLOYEES;

              

  使用 “DISTINCT”关键字:

SELECT COUNT (DISTINCT DEPARTMENT_ID) FROM EMPLOYEES;

 

使用GROUP …BY ,HAVING 子句

  1. 不能在 WHERE 子句中使 用 组函数。
  2. 可以在 HAVING 子句中使 用 组函数。

 

其顺序:1、SELECT 语句,2、FROM 紧跟SELECT , 3、WHERE, 4、WHERE 过滤条件

  1. GROUP BY 分组函数,6、HAVING 子在句,7、ORDER BY 语句,ORDER BY 语句无论

     都是在语句的句末。

SELECT DEPARTMENT_ID, COUNT (*), MAX (SALARY) FROM EMPLOYEES

FROM EMPLOYEES

WHERE DEPARTMENT_ID >60

GROUP BY DEPARTMENT_ID

HAVING MAX (SALARY) >10000

ORDER BY DEPARTMENT_ID; 

                 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值