计算累加乘

需求描述

需求:计算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_计算累加乘相关推荐

  1. 窗口分析函数_6_计算累加差

    计算累加差 需求描述 需求:计算EMP表里SAL字段的累计乘积值,这里按照SAL.EMPNO排序. 解决方法:通过SUM OVER()函数来完成,这里SAL要取反,即SAL的负数. 注: 数据库数据集 ...

  2. 窗口分析函数_4_计算累加值

    计算累加值 需求描述 需求:计算EMP表里SAL字段的累加值,这里按照SAL.EMPNO排序. 解决方法:通过SUM OVER()函数来完成. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构 ...

  3. 窗口分析函数_17_计算百分位数

    计算百分位数 需求描述 需求:将EMP表里的部门编号为20的SAL字段按照由高到低排序取50百分位. 解决方法:通过percentile_cont OVER()来完成. 注: 数据库数据集SQL脚本详 ...

  4. 窗口分析函数_10_计算组总和的占比

    计算组总和的占比 需求描述 需求:计算EMP表按照deptno分组,计算每组的SAL总和与所以记录总和中的占比 解决方法:通过每组SUM(SAL)窗口函数再除以记录总和来实现. 注: 数据库数据集SQ ...

  5. 窗口分析函数_9_计算组内总和的占比

    计算组内总和的占比 需求描述 需求:计算EMP表按照deptno分组,计算SAL在每组总和中的占比 解决方法:通过每行的SAL除以每组的SUM(SAL)来实现. 注: 数据库数据集SQL脚本详见如下链 ...

  6. 窗口分析函数_8_计算某列的中间值

    计算某列的中间值 需求描述 需求:计算EMP表按照deptno分组,找出排在中间的SAL 解决方法:通过窗口函数集合COUNT(*)通过序号取模来判断. 注: 数据库数据集SQL脚本详见如下链接地址 ...

  7. 每个线程只对一个数据操作就不会出现线程安全问题-------------成员变量,用来计算累加的和...

    package charpter12; public class Processor implements Runnable { private int count; // 成员变量,用来计算累加的和 ...

  8. Android窗口Z轴计算以及WindowState排列规则

    本篇基于Android Q代码,建议先看从一个Dialog的创建看Android的窗口机制(上篇)和从一个Dialog的创建看Android的窗口机制(下篇)大致了解窗口的添加机制再看本篇 本篇主要分 ...

  9. #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 # ...

最新文章

  1. usaco ★Stamps 邮票
  2. python 删除文件、目录_python脚本删除文件及删除文件目录的方法
  3. 春运男子持刀强行劫走17张卧铺票 ....
  4. 猎鹰spacex_SpaceX:简单,美观的界面是未来
  5. Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇
  6. Qt:Qt实现飞秋拦截助手—介绍
  7. python多变量拟合_Python曲线将多个参数拟合到多个数据集
  8. Android测试——如何捕获Windows系统的屏幕输入
  9. 单循环比赛规则-java
  10. java用户登录进入系统_Java CRM系统用户登录功能实现代码实例
  11. thrift linux java,解决Linux下安装thrift出现的Building Java Library ........ : no问题(以及其他安装thrift出现的问题)...
  12. 微信PC版Hook发送群艾特消息研究
  13. 移动端超高品质的Axure UI设计/交互设计组件库,几乎涵盖了所有的组件
  14. 【OpenJudge】白细胞计数
  15. 华为eNsp 配置ospf协议
  16. 用burpsuite抓包,谷歌 / 火狐浏览器 该怎么设置BurpSuite代理?——超详细教程——CTF Web小白入门基础篇
  17. 解决DIV 层被FLASH遮挡了
  18. amd和英伟达运行linux,27款AMD、NVIDIA显卡大战Linux
  19. 校园网不能建立到远程计算机的连接,错误720
  20. 自己经常用的一些电影下载网址

热门文章

  1. VTK:等参细胞演示用法实战
  2. opengl加载显示3D模型ms3d类型文件
  3. JavaScript实现阶乘递归factorialRecursive算法(附完整源码)
  4. boost::smart_ptr模块boost/pointer_to_other.hpp 的测试
  5. boost::process::args相关的测试程序
  6. boost::polygon::detail::robust_fpt相关的测试程序
  7. boost::mpl::advance相关用法的测试程序
  8. boost::log::sources::severity_channel_logger_mt用法的测试程序
  9. boost::geometry模块使用 Karney 的直接方法
  10. GDCM:gdcm::Curve的测试程序