Oracle 分析函数之聚集函数(MAX、MIN、AVG和SUM)
- MAX 查找组中表达式的最大值 MAX(COL ) OVER ( [ <partition_by_clause> ] < order_by_clause > )
MIN 查找组中表达式的最小值 MIN(COL ) OVER ( [ <partition_by_clause> ] < order_by_clause > )
AVG 计算组中表达式的平均值 AVG(COL ) OVER ( [ <partition_by_clause> ] < order_by_clause > )
SUM 计算组中表达式的累积和 SUM(COL ) OVER ( [ <partition_by_clause> ] < order_by_clause > )
- 简单测试:
SQL> select deptno,
2 ename,
3 sal,
4 max(sal) over(partition by deptno order by sal) max_sal_asc,
5 max(sal) over(partition by deptno order by sal desc) max_sal_desc,
6 min(sal) over(partition by deptno order by sal) min_sal,
7 avg(sal) over(partition by deptno order by sal) avg_sal,
8 sum(sal) over(partition by deptno order by sal) sum_sal
9 from emp;
- DEPTNO ENAME SAL MAX_SAL_ASC MAX_SAL_DESC MIN_SAL AVG_SAL SUM_SAL
---------- ---------- ---------- ----------- ------------ ---------- ---------- ----------
10 MILLER 1300 1300 5000 1300 1300 1300
10 CLARK 2450 2450 5000 1300 1875 3750
10 KING 5000 5000 5000 1300 2916.66667 8750
20 SMITH 800 800 3000 800 800 800
20 JONES 2975 2975 3000 800 1887.5 3775
20 FORD 3000 3000 3000 800 2258.33333 6775
30 JAMES 950 950 2850 950 950 950
30 WARD 1250 1250 2850 950 1150 3450
30 MARTIN 1250 1250 2850 950 1150 3450
30 TURNER 1500 1500 2850 950 1237.5 4950
30 ALLEN 1600 1600 2850 950 1310 6550
30 BLAKE 2850 2850 2850 950 1566.66667 9400
- 已选择12行。
上面例子说明:
max(sal) over(partition by deptno order by sal),当既有分组又有排序时,因为按sal升序,只要deptno和sal没有重复的行,每一行的sal都是该行的最大值;
如果是按sal降序排序,则第一行即为最大的行了,之后也以第一行作为max值了。
min(sal) over(partition by deptno order by sal),按升序排序,第一行已经是整个分组里最小的了,所以该分组内min值都为第一行的值;
avg(sal) over(partition by deptno order by sal),按排序顺序,每一行的avg,都为截止到当前行为止,该分组的avg值;
sum(sal) over(partition by deptno order by sal),按排序顺序,每一行的sum,都为截止到当前行为止,该分组的sum值。
Oracle 分析函数之聚集函数(MAX、MIN、AVG和SUM)的更多相关文章
- Oracle分析函数及常用函数: over(),rank()over()作用及用法--分区(分组)求和& 不连续/连续排名
(1) 函数: over()的作用及用法: -- 分区(分组)求和. sum() over( partition by column1 order by column2 )主要用来对某个字 ...
- Oracle 分析函数及常用函数
什么叫分析函数(Analytic function)? Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组 ...
- oracle 分析函数和开窗函数
最近遇到一个需求,将查询出的数据按照地区分组,随机取出每个区域的2条数据,这里用到了oracle的分析和开窗函数: 最终写出的sql如下: select * from (select region,r ...
- 聚合函数 -AVG/MAX/MIN/STDDEV/VARIANCE/SUM/COUNT/MEDIAN
------------------------------------------聚合函数--------------------------------------------- --1: AVG ...
- GROUP BY 聚合函数(max min sum avg count) 和HAVING的 使用
重新复习一下这个都源自于我经常需要查的一个需求 “要找到表里面 出现了两次或者三次的某个字段” 现在假设有一张表字段是 +----+---------------------+------------ ...
- oracle中的常用函数
一.运算符算术运算符:+ - * / 可以在select 语句中使用连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != &l ...
- 【转】ORACLE日期时间 等函数大全
转自:ORACLE日期时间函数大全 ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: ...
- Oracle自定义聚集函数
今天工作中看见别人写的自定义聚集函数,所以一门心思的想搞懂,就在网上找资料了. 自定义聚集函数 自定义聚集函数接口简介 Oracle提供了很多预定义好的聚集函数,比如Max(), Sum(), AVG ...
- Oracle中碰到的函数和关键字收集
一.时间处理函数 trunc(sysdate) 返回日期 to_date() to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') to_number() 转为数字 二.字 ...
随机推荐
- Understanding the Router
Understanding the Router Our module is coming along nicely. However, we're not really doing all that ...
- 在 iOS 8 中使用模糊效果
在 iOS 7 出來一個背景模糊的效果, Apple 官方的 sample code 則有提供怎麼使用 vImage, Quartz 來實作這個效果.接著在 iOS 8 出來之後,則提供了 UIVi ...
- check_area
CCTouch* pTouch = ...; CCSprite* pSprite = ...; CCRect rect = pSprite ->boundingBox(); if ((& ...
- show status详解
Aborted_clients 某种原因客户程序不能正常关闭连接而导致失败的连接的数量.没有正常关闭 Aborted_connects 指出试图连接到MYSQL的失败的次数.这种情况在客户尝试用错误的 ...
- Ubuntu 安装php mcrypt
sudo apt-get install php5-mcrypt libmcrypt4 libmcrypt-dev sudo php5enmod mcrypt sudo /etc/init.d/apa ...
- 【转】Myeclipse8.5 反编译插件 jad 安装
[转]Myeclipse8.5 反编译插件 jad 安装 准备工作 下载jad.exe文件下载window版本:http://varaneckas.com/jad/ 下载jadeclipse插件:ht ...
- 使用WCF和WEBService出现配置的问题
错误代码:system.serviceModel/bindings/customBinding 处的绑定没有名称为"SMSServiceServiceSoapBinding"的已配 ...
- Sqlserver 快照
最近,开发系统使用SqlServer2008 R2,但是由于系统数据压力的增加,准备增加一个和正式数据库同步的库,用来供接口和报表使用,所以开始对SqlServer里面的一些技术开始研究,第一篇先来研 ...
- Sqlserver 理解子查询
理解子查询: 理解子查询: 多表连接查询往往也可以用子查询进行替代 子查询本质是嵌套进其他 select update insert Delete 语句的一个被限制的select语句,在子查询中,只有 ...
- iOS 隔离导航控制器
题外话:最近这两个月一直很闲,项目上基本没有啥大的需求.对于程序员来说,如果没有需求其实是一件很难受的事情,之前好多次在项目中没事找事,该优化的优化,该整理的整理.可能好多程序员都遇到过与我类似的情况 ...