Oracle DB 组函数

• 组函数:
– 类型和语法
– 使用AVG、SUM、MIN、MAX、COUNT
– 在组函数中使用DISTINCT关键字
– 组函数中的NULL值
 
 
  • 何谓组函数
组函数会对行集进行计算,为每个组提供一个结果。
与单行函数不同,组函数用于对行集进行计算,从而为每个组提供一个结果。这些集合可以包含整个表,也可以包含表分割成的组。
 
  • 组函数的类型
• AVG
• COUNT
• MAX
• MIN
• STDDEV
• SUM
• VARIANCE
 
 
每个函数都接受一个参数。下表列出了在语法中可使用的选项:
Oracle DB 组函数
 
  • 组函数:语法
SELECT group_function(column), ...
FROM table
[WHERE condition]
[ORDER BY column];
 
组函数:语法
组函数应放在SELECT关键字之后。可以使用逗号分隔多个组函数。
使用组函数的准则:
• DISTINCT使函数仅考虑非重复值;ALL使函数考虑每个值(包括重复值)。默认值为ALL,因此无需指定。
• 使用expr参数的函数的数据类型可以是CHAR、VARCHAR2、NUMBER或DATE。
所有组函数都忽略空值。要用一个值替代空值,使用NVL、NVL2、COALESCE、CASE或DECODE函数。
 
 
  • 使用AVG和SUM函数
可以对数字数据使用AVG和SUM函数。
hr@TEST0924> SELECTAVG(salary), MAX(salary),MIN(salary), SUM(salary)FROM employees WHERE job_id LIKE '%REP%';
 
AVG(SALARY) MAX(SALARY) MIN(SALARY) SUM(SALARY)
----------- ----------- ----------- -----------
8272.72727 11500 6000 273000
 
 
可以对能够存储数字数据的列使用AVG、SUM、MIN和MAX函数。示例显示所有销售代表的月薪平均值、最高值、最低值与总和。
 
使用MIN和MAX函数
可以对数字、字符和日期数据类型使用MIN和MAX函数。
hr@TEST0924> SELECT MIN(hire_date), MAX(hire_date) FROM employees;
 
MIN(HIRE_DATE) MAX(HIRE_DATE)
------------------ ------------------
13-JAN-01 21-APR-08
 
可以对数字、字符和日期数据类型使用MAX和MIN函数。示例显示任职时间最短和最长的雇员。
下面的示例显示在包含所有雇员的列表中,按字母顺序排列姓氏时位于首位及位于末位的雇员姓氏:
hr@TEST0924> SELECT MIN(last_name), MAX(last_name) FROM employees;
 
MIN(LAST_NAME) MAX(LAST_NAME)
------------------------- -------------------------
Abel Zlotkey
注:AVG、SUM、VARIANCE和STDDEV函数仅可用于处理数字数据类型。MAX和MIN函数不能用于处理LOB或LONG数据类型

 

相关阅读

相关推荐