代码改变世界

ORACLE 常用函数——聚合函数

2011-04-26 23:06  潇湘隐者  阅读(41586)  评论(0编辑  收藏  举报
/**************************************************************************************************************************
                                       ORACLE 常用函数
                                       
        这个系列我将整理一些日常我们经常使用到的ORACLE函数,鉴于篇幅太长,我大体会按下面分类来整理、汇总这些常用的ORACLE函数,如果有些常用函数没有被整理进来,也希望大家指点一二。

 

1: 聚合函数
2: 日期函数
3: 字符串函数
4: 格式化函数
5: 类型转换函数
6: 加密函数
7: 控制流函数
8: 数学函数
9: 系统信息函数
*************************************************************************************************************************/
------------------------------------------聚合函数---------------------------------------------

 
--1:   AVG(DISTINCT|ALL)
ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值

SELECT AVG(SAL) FROM SCOTT.EMP;

SELECT AVG(DISTINCT SAL) FROM SCOTT.EMP;


--2:   MAX(DISTINCT|ALL)
求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次
(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)

SELECT MAX(DISTINCT SAL) FROM SCOTT.EMP;

SELECT MAX(SAL) FROM SCOTT.EMP

--3:   MIN(DISTINCT|ALL)
求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次

SELECT MIN(SAL) FROM SCOTT.EMP;

SELECT MIN(DISTINCT SAL) FROM SCOTT.EMP;

--4:  STDDEV(distinct|all)
求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差

SELECT STDDEV(SAL) FROM SCOTT.EMP;

SELECT STDDEV(DISTINCT SAL) FROM SCOTT.EMP;

--5:   VARIANCE(DISTINCT|ALL)
求协方差  ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差
 
SELECT VARIANCE(SAL) FROM SCOTT.EMP;

SELECT VARIANCE(DISTINCT SAL) FROM SCOTT.EMP;

--6:  SUM(DISTINCT|ALL)
求和  ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次)

SELECT SUM(SAL) FROM SCOTT.EMP;

SELECT SUM(DISTINCT SAL) FROM SCOTT.EMP;

--7:COUNT(DISTINCT|ALL)
求记录、数据个数。 ALL对所有记录,数组做统计, DISTINCT只对不同值统计(相同值只取一次)

SELECT COUNT(SAL) FROM SCOTT.EMP;

SELECT COUNT(DISTINCT SAL) FROM SCOTT.EMP;  
 
----8: MEDIAN
求中位数
SELECT MEDIAN(SAL) FROM SCOTT.EMP;
SELECT MEDIAN(DISTINCT SAL) FROM SCOTT.EMP;  --错误:DISTINCT 选项在此函数中禁用。

----------------------------------------------------------------------------------------------