oracle 分析函数1
-- FUNCTION_NAME(<argument>,<argument>...) -- OVER -- (<Partition-Clause><Order-by-Clause><Windowing Clause>) partition : 按照表达式分区(就是分组),如果省略了分区子句,则全部的结果集被看作是一个单一的组 order by : 计算中所使用的行的集合是当前分区中当前行和前面所有行,没有ORDERBY时,默认的窗口是全部的分区 例: sum(sal) over (partition by deptno order by ename) new_alias-- 开窗(windowing)函数 sum(t.sal) over (order by t.deptno,t.ename) running_total, sum(t.sal) over (partition by t.deptno order by t.ename) department_total-- 制表(reporting)函数 -- 与开窗函数同名,作用于一个分区或一组上的所有列, -- 与开窗函数的关键不同之处在于OVER语句上缺少一个ORDER BY子句! sum(t.sal) over () running_total2, sum(t.sal) over (partition by t.deptno ) department_total2-- RANGE窗口仅对NUMBERS和DATES起作用,ORDER BY中只能有一列 avg(t.sal) over(order by t.hiredate asc range 100 preceding) -- 统计前100天平均工资-- Specifying窗口 range between 100 preceding and 100 following; --当前行100前,当前后100后-- 按区域查找上一年度订单总额占区域订单总额20%以上的客户 table : orders_tmp -- 1.找出2001年度区域订单总额 select o.cust_nbr customer,o.region_id region,sum(o.tot_sales) cust_sales, sum(sum(o.tot_sales)) over(partition by o.region_id) region_sales from orders_tmp o where o.year = 2001 group by o.region_id, o.cust_nbr;-- 2.在1的基础上得出订单总额占区域订单总额20%以上的客户 select * from (select o.cust_nbr customer, o.region_id region,sum(o.tot_sales) cust_sales,sum(sum(o.tot_sales)) over(partition by o.region_id) region_salesfrom orders_tmp o where o.year = 2001group by o.region_id, o.cust_nbr) all_sales where all_sales.cust_sales > all_sales.region_sales * 0.2;-- 加上百分比 round() select cust_nbr, region_id, cust_sales, region_sales, -- 此处可以用tmptb.* , 但不能用 * 100 * round(cust_sales / region_sales, 2) || '%' Percent from (select cust_nbr, region_id, sum(TOT_SALES) cust_sales, sum(sum(tot_sales)) over(partition by REGION_ID) as region_sales from orders_tmp where o.year = 2001 group by CUST_NBR, REGION_ID order by REGION_ID) tmptb where cust_sales > region_sales * 0.2;
转载于:https://www.cnblogs.com/c0liu/p/5469006.html
oracle 分析函数1相关推荐
- Oracle分析函数五——统计分析函数
Oracle 分析函数--统计分析函数 方差和标准差: 样本中各数据与样本平均数的差的平方和的平均数叫做样本方差:样本方差的算术平方根叫做样本标准差.样本方差和样本标准差都是衡量一个样本波动大 ...
- oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...
- 【分析函数】Oracle分析函数之LAG和LEAD
[分析函数]Oracle分析函数之LAG和LEAD Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值.这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的 ...
- oracle 数据分析函数,ORACLE分析函数(一)
ORACLE分析函数(1) 分析函数式ORACLE提供的用来进行数据统计的强有力工具,与我们常用的聚合函数具有一些相似性,但又完全不同.聚合函数,首先会将数据进行分组,然后对每一组数据进行运算,如求和 ...
- Oracle分析函数巧妙使用
在 Oracle中使用Sql必须弄懂分析函数 Oracle开发专题之:分析函数(OVER) 1 Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number) 6 Or ...
- Oracle 分析函数--Row_Number()
row_number() over ([partition by col1] order by col2) ) as 别名 表示根据col1分组,在分组内部根据 col2排序 而这个"别名& ...
- Oracle分析函数——函数列表
--------------聚合函数 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算 ...
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
Oracle 分析函数--SUM,AVG,MIN,MAX,COUNT SUM 功能描述:该函数计算组中表达式的累积和. SAMPLE :下例计算同一经理下员工的薪水累积值 MIN 功能描述:在一个组中 ...
- oracle 分析函数、GROUPING函数
分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内的数据 ...
最新文章
- jboss4 迁移_应用程序服务器迁移:从JBoss EE5到Wildfly EE7
- 重新绘制TabControl的Tabpage标签,添加图片及关闭按钮
- macos server 恢复安装_如何通过 macOS 恢复功能重新安装 macOS
- vue 组件 props配置
- 2017.8.26 力 思考记录
- 在Linux下使用linuxdeployqt发布Qt程序
- 安装 SQL Server Compact Edition 及 与PC 数据同步的部署
- 三大器之------生成器
- 二维数组求最大子数组和
- 自动按键 回车 变成_【按键大扫荡】驾驶员的“眼”
- kmeans算法及python实现
- 用HTML写出能转换成合适的PDF文件(A4纸张大小)的相关问题和方法
- 博客园博客使用无觅插件
- php人民币转换,PHP转换,如何实现人民币中文大写与数字相互转换?
- 深入理解tensorflow架构设计与实现原理(彭靖田著)
- 几个学习Python的网站推荐
- 从零到一实现复杂表格需求(antd table 合并行 合并列)
- 微医网爬虫(一) java实现
- Scrum开发管理方法的由来、团队建设与实施过程
- 独立成分分析ICA/FastICA
热门文章
- 用到lucene的爬虫的简单实现
- [转载] New Concept English 1——Lesson 14 What colour's your…?
- 远程控制 vc++实现
- 读书印记 - 《清醒:如何用价值观创造价值》
- HNOI2015题解
- 概念的图解 —— 数学
- apple个人开发者证书无线发布app的实现(转)
- Android开发中完全退出程序的三种方法
- [Codeforces Round #162 (Div. 2)]A. Colorful Stones (Simplified Edition)
- 银铃响过:那些清爽的女声