Oracle 19C学习 - 06. 聚合函数

2021/5/3 19:26:56

本文主要是介绍Oracle 19C学习 - 06. 聚合函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

聚合函数

聚合函数对行进行操作,以使每个组产生一个结果。

 

 

AVG(字段)与SUM(字段)函数

 查找最大和最小入职日期

SELECT MAX(hire_date), MIN(hire_date)
FROM employees
WHERE job_id LIKE '%PROG%';

MAX(HIRE_DATE)      MIN(HIRE_DATE)
------------------- -------------------
2007-05-21 00:00:00 2005-06-25 00:00:00

 

AVG函数遇到NULL的字段会忽略,比如十条记录求平均值,有两条记录是NULL,所以得到的结果是总数/8的结果。

要解决这个问题,需要使用NVL函数先将NULL值替换,然后嵌套在AVG函数内部求平均数。

SELECT AVG(commission_pct) FROM employees;   --只有非NULL记录参加了计算

AVG(COMMISSION_PCT)
-------------------
         .222857143

SQL> SELECT AVG(NVL(commission_pct,0)) FROM employees;   --将NULL记录替换为0后参加计算。

AVG(NVL(COMMISSION_PCT,0))
--------------------------
                .072897196

 

 

 

COUNT(字段)求个数,这个函数不统计空值。

 

找出工资大于10000的员工数量

 SELECT COUNT(commission_pct) FROM employees;

COUNT(COMMISSION_PCT)
---------------------


SELECT COUNT(*) FROM employees;

  COUNT(*)
----------


 

DISTINCT关键字去除重复

根据员工表统计出部门的数量

SELECT COUNT(DISTINCT(department_id)) FROM employees;

COUNT(DISTINCT(DEPARTMENT_ID))
------------------------------
                            11


这篇关于Oracle 19C学习 - 06. 聚合函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程