随笔分类 -  Oracle SQL

摘要:上季度所有月份: 本季度所有月份: SELECT TO_CHAR(ADD_MONTHS(ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'),A * 3),-ROWNUM),'YYYYMM') LAST_Q FROM (SELECT TO_CHAR(SYSDATE,'Q') A FRO 阅读全文
posted @ 2018-08-10 16:15 一枚程序员 阅读(6727) 评论(0) 推荐(1) 编辑
摘要:在oracle开发过程中经常会遇到累加、减、乘、除的问题。下面对这个做个小的总结 创建测试表 一、实现累加 二、实现累减 三、实现累乘 四、实现累除 累乘和累除的缺陷是不能对负数进行运算 因为ln(负数)没有意义 阅读全文
posted @ 2017-12-15 14:47 一枚程序员 阅读(20244) 评论(0) 推荐(0) 编辑
摘要:ORACLE OLAP 函数 最近这个东东用得特别多,总结了一下 。 语法: FUNCTION_NAME(,,...) OVER() OLAP函数语法四个部分: 1、function本身 用于对窗口中的数据进行操作; 2、partitioning clause 用于将结果集分区; 3、order b 阅读全文
posted @ 2017-10-26 08:59 一枚程序员 阅读(9982) 评论(0) 推荐(1) 编辑
摘要:此时有个新需求,希望查看部门 D02 内,销售记录时间最早,销售量最小的记录。即希望得到这样的信息D02 2014/3/6 G01 430这样,就需要用keep(dense_rank first/last)来帮助处理 关于使用keep(dense_rank first/last) 会有一些疑问1.k 阅读全文
posted @ 2017-10-25 16:44 一枚程序员 阅读(3327) 评论(1) 推荐(2) 编辑
摘要:通过rank()、dense_rank()、row_number()对记录进行全排列、分组排列取值但有时候,会遇到空值的情况,空值会影响得到的结果的正确性,如下所查。 我们可以看到部门D01中的销售数量为NULL的记录排名居然是第一,这显然是不对的。 此时,就需要用到nulls last来处理处理后 阅读全文
posted @ 2017-10-25 11:00 一枚程序员 阅读(15310) 评论(2) 推荐(1) 编辑
摘要:很多需求中都涉及到统计:均值、累计、范围均值、相邻记录比较等。这些操作会统计多次,或有明确的统计范围,或返回的记录统计的数据集不同... 根据场景不同可分为如下几类: 1. 全统计 2. 滚动统计 3. 范围统计 4. (相邻)行比较 构建测试数据: 一.全统计最常用的全统计就是均值或求和,有时会要 阅读全文
posted @ 2017-10-25 10:40 一枚程序员 阅读(19950) 评论(0) 推荐(1) 编辑
摘要:(1)rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。 (2)dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。(3)row_number函数返回一个唯一的 阅读全文
posted @ 2017-10-25 09:40 一枚程序员 阅读(31441) 评论(0) 推荐(2) 编辑
摘要:先通过一个例子,直观的感受下分析函数的简洁方便: 插入测试数据: 需求:求出全公每个时点司累计的销售数量,利用分析函数SQL如下: 结果如下: 通过这个例子,可以看到利用分析函数解决某些场景下的问题非常的直观简便。 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数, 阅读全文
posted @ 2017-10-24 18:35 一枚程序员 阅读(581) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示