Oracle select --分析函数over()
来源:互联网 发布:域名注册 知乎 编辑:程序博客网 时间:2024/05/17 22:55
--分析函数over()
--开窗函数
--开窗函数的的理解:
/*
开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下:
over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数
over(partition by deptno)按照部门分区
over(order by salary range between 50 preceding and 150 following)
每行对应的数据窗口是之前行幅度值不超过50,之后行幅度值不超过150
over(order by salary rows between 50 preceding and 150 following)
每行对应的数据窗口是之前50行,之后150行
over(order by salary rows between unbounded preceding and unbounded following)
每行对应的数据窗口是从第一行到最后一行,等效:
over(order by salary range between unbounded preceding and unbounded following)
*/
--创建表test
create table test(sales_id varchar2(2),sales varchar2(10),dest varchar2(10),dept varchar2(10),revenue number);
--创建数据
insert into test values('11','smith','hangzhou','市场',1000);
insert into test values('12','smith','wenzhou','市场',2000);
insert into test values('13','allen','wenzhou','渠道',3000);
insert into test values('14','allen','wenzhou','渠道',4000);
insert into test values('15','jekch','shanghai','渠道',2500);
--计算数据窗口表达式的销售总额
select sales_id,sales,dest,dept,revenue,sum(revenue) over(order by sales_id) as 总销售额
from test
select sales_id,sales,dest,dept,revenue,sum(revenue) over(order by sales) as 总销售额
from test
--计算数据窗口表达式累计销售额
select sales_id,sales,dest,dept,revenue,sum(revenue) over(partition by sales) as 累计销售额
from test
select sales_id,sales,dest,dept,revenue,sum(revenue) over(partition by sales) as 累计销售额
from test
order by sales_id
--计算数据窗口表达式的统计值,cnt1统计所有行数,cnt2统计表达式坐在的最大行数,cnt3统计表达式出现的次数
select sales_id,sales,dest,count(*) over() as cnt1,
count(*) over(order by dest) as cnt2,
count(*) over(partition by dest) as cnt3
from test
--删除表
drop table test
---平台函数
isNull(obj):判断给定对象是否为null,返回true/false;如isNull(repField("org_code"))
switch(condition,case,value,case,value……)
condition:switch语句的条件
case:case值
value:上一个case对应的值
如:switch(repField("org_code"),90,"社保科",91,"行政政法科",92,"企业科",93,"农业科",94,"经济建设科",95,"教科文科")
本文来自CSDN博客,转载出处:http://blog.csdn.net/adwfcu/archive/2008/11/19/3336481.aspx
- Oracle select --分析函数over()
- Oracle select --分析函数over()
- Oracle 分析函数over
- Oracle 分析函数 over()
- oracle 分析函数over
- ORACLE over()分析函数
- oracle 分析函数 over
- oracle 分析函数over
- oracle 分析函数over
- Oracle-分析函数-over函数
- oracle分析函数over使用
- Oracle 分析函数之over()
- oracle分析函数之over()
- Oracle 分析函数 over() 续
- 数据库--oracle--分析函数OVER ()
- Oracle之over分析函数
- ORACLE SUM over分析函数
- oracle的分析函数 over()
- excel 一些常用操作方法(转)
- gao
- 7段数码管显示器公用驱动程序
- Dataset用法实践之一概述
- 2天玩转单反相机引领快乐光影新生活
- Oracle select --分析函数over()
- 清除SQL被注入恶意病毒代码的语句
- 抽象工厂
- php strtotime函数的格式详细说明
- JUnit之学习笔记
- createprocess
- window.opener 与 window.parent 的区别
- java中的treemap
- Java Foreach语法