窗口分析函数_5_计算累加乘
计算累加乘
需求描述
需求:计算EMP表里SAL字段的累计乘积值,这里按照SAL、EMPNO排序.
解决方法:通过SUM OVER() EXP LOG LN函数来完成.
注: 数据库数据集SQL脚本详见如下链接地址
员工表结构和数据初始化SQL脚本
SQL代码
-- Sql Server:
SELECT sal,empno,LOG(sal) AS Log_Sal,EXP(SUM(LOG(sal))OVER(ORDER BY sal,empno)) Accu_Prod
FROM emp;
执行结果
-- Oracle:
SELECT sal,empno,LN(sal) AS Log_Sal,EXP(SUM(LN(sal))OVER(ORDER BY sal,empno)) Accu_Prod
FROM emp;-- Mysql:
SELECT B.sal,B.empno,(SELECT exp(SUM(ln(A.sal))) FROM emp A WHERE A.empno<=B.empno) AS Accu_Cnt
FROM emp B
ORDER BY Accu_CntSELECT B.sal,B.empno,exp(SUM(ln(A.sal))) AS Accu_Cnt
FROM emp B
JOIN emp AON A.empno <=B.empno
GROUP BY B.sal,B.empno
ORDER BY Accu_Cnt
窗口分析函数_5_计算累加乘相关推荐
- 窗口分析函数_6_计算累加差
计算累加差 需求描述 需求:计算EMP表里SAL字段的累计乘积值,这里按照SAL.EMPNO排序. 解决方法:通过SUM OVER()函数来完成,这里SAL要取反,即SAL的负数. 注: 数据库数据集 ...
- 窗口分析函数_4_计算累加值
计算累加值 需求描述 需求:计算EMP表里SAL字段的累加值,这里按照SAL.EMPNO排序. 解决方法:通过SUM OVER()函数来完成. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构 ...
- 窗口分析函数_17_计算百分位数
计算百分位数 需求描述 需求:将EMP表里的部门编号为20的SAL字段按照由高到低排序取50百分位. 解决方法:通过percentile_cont OVER()来完成. 注: 数据库数据集SQL脚本详 ...
- 窗口分析函数_10_计算组总和的占比
计算组总和的占比 需求描述 需求:计算EMP表按照deptno分组,计算每组的SAL总和与所以记录总和中的占比 解决方法:通过每组SUM(SAL)窗口函数再除以记录总和来实现. 注: 数据库数据集SQ ...
- 窗口分析函数_9_计算组内总和的占比
计算组内总和的占比 需求描述 需求:计算EMP表按照deptno分组,计算SAL在每组总和中的占比 解决方法:通过每行的SAL除以每组的SUM(SAL)来实现. 注: 数据库数据集SQL脚本详见如下链 ...
- 窗口分析函数_8_计算某列的中间值
计算某列的中间值 需求描述 需求:计算EMP表按照deptno分组,找出排在中间的SAL 解决方法:通过窗口函数集合COUNT(*)通过序号取模来判断. 注: 数据库数据集SQL脚本详见如下链接地址 ...
- 每个线程只对一个数据操作就不会出现线程安全问题-------------成员变量,用来计算累加的和...
package charpter12; public class Processor implements Runnable { private int count; // 成员变量,用来计算累加的和 ...
- Android窗口Z轴计算以及WindowState排列规则
本篇基于Android Q代码,建议先看从一个Dialog的创建看Android的窗口机制(上篇)和从一个Dialog的创建看Android的窗口机制(下篇)大致了解窗口的添加机制再看本篇 本篇主要分 ...
- #c语言sinx≈x-x^3^/3!+x^5^/5!-x^7^/7!+x^9^/9!-……,计算sinx的值,直到最后一项小于1e-5,并计算累加次数。
标题sinx≈x-x3/3!+x5/5!-x7/7!+x9/9!---,计算sinx的值,直到最后一项小于1e-5,并计算累加次数. List item List item 3.List item # ...
最新文章
- usaco ★Stamps 邮票
- python 删除文件、目录_python脚本删除文件及删除文件目录的方法
- 春运男子持刀强行劫走17张卧铺票 ....
- 猎鹰spacex_SpaceX:简单,美观的界面是未来
- Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇
- Qt:Qt实现飞秋拦截助手—介绍
- python多变量拟合_Python曲线将多个参数拟合到多个数据集
- Android测试——如何捕获Windows系统的屏幕输入
- 单循环比赛规则-java
- java用户登录进入系统_Java CRM系统用户登录功能实现代码实例
- thrift linux java,解决Linux下安装thrift出现的Building Java Library ........ : no问题(以及其他安装thrift出现的问题)...
- 微信PC版Hook发送群艾特消息研究
- 移动端超高品质的Axure UI设计/交互设计组件库,几乎涵盖了所有的组件
- 【OpenJudge】白细胞计数
- 华为eNsp 配置ospf协议
- 用burpsuite抓包,谷歌 / 火狐浏览器 该怎么设置BurpSuite代理?——超详细教程——CTF Web小白入门基础篇
- 解决DIV 层被FLASH遮挡了
- amd和英伟达运行linux,27款AMD、NVIDIA显卡大战Linux
- 校园网不能建立到远程计算机的连接,错误720
- 自己经常用的一些电影下载网址
热门文章
- VTK:等参细胞演示用法实战
- opengl加载显示3D模型ms3d类型文件
- JavaScript实现阶乘递归factorialRecursive算法(附完整源码)
- boost::smart_ptr模块boost/pointer_to_other.hpp 的测试
- boost::process::args相关的测试程序
- boost::polygon::detail::robust_fpt相关的测试程序
- boost::mpl::advance相关用法的测试程序
- boost::log::sources::severity_channel_logger_mt用法的测试程序
- boost::geometry模块使用 Karney 的直接方法
- GDCM:gdcm::Curve的测试程序