oracle 12c 集合函数

oracle 12c 集合函数

基本介绍

集合函数与单一行函相对,可以多行输入,输出一个结果。可以使用在select 句子,order by 句,还有having 句子中,where句中不可以使用。
基础的写法为:

函数名([DISTINCT|ALL]{列名|式})
----------
/*DISTINCT:重复的值可以当做1次处理
* ALL: 含有重复的值时,视为多次。default。
*/

COUNT函数

说明
COUNT 函数为统计出要求的数据的件数,参数可以为数值型,文字型,还有日期型。选项可以设定 *,作为参数

写法

COUNT({*|[DISTINCT|ALL] 式})
-----------
SQL> select count(deptno),count(distinct deptno),count(*)
  2  from employees;

COUNT(DEPTNO) COUNT(DISTINCTDEPTNO)   COUNT(*)
------------- --------------------- ----------
           14                     3         14

参数说明

参数 说明
* 重复值还有空值都包含的数值
DISTINCT 重复的值可以作为1个值输出,不含有null值
ALL 重复的值做为多个输出,不含有null值,默认值

MAX函数和MIN函数

说明
MAX 函数为统计出要求的数据的最大值,MIN 函数为统计出要求的数据的最x小值参数,可以为数值型,文字型,还有日期型。
写法

MAX([DISTINCT|ALL] 式)
MIN([DISTINCT|ALL] 式)
-----------
SQL> select max(sal),min(sal)
  2  from employees;

  MAX(SAL)   MIN(SAL)
---------- ----------
    500000     110000

AVG函数和SUM函数

说明
AVG函数为统计组数的平均值,SUM函数为统计组数中的和值,可以为数值型。
写法

AVG([DISTINCT|ALL] 式)
SUM([DISTINCT|ALL] 式)
-----------
SQL> select AVG(sal),SUM(sal)
  2  FROM EMPLOYEES;

  AVG(SAL)   SUM(SAL)
---------- ----------
273214.285    3825000

STDDEV函数

说明
STDDEV函数为统计算出标准差

VARIANCE函数

说明
VARIANCE函数为统计算出方差

LISTAGG函数

说明
LISTAGG函数分散
技巧篇
group 函数中非常重要的一点是对null 的处理,这里可以借助NVL() 函数以及NVL2()函数。

SQL> select avg(nvl(comm,0)),sum(nvl(comm,0)) from employees;

AVG(NVL(COMM,0)) SUM(NVL(COMM,0))
---------------- ----------------
67142.8571428571           940000

猜你喜欢

转载自blog.csdn.net/qq1301709072/article/details/80627014