10 2017 档案
摘要:ORACLE OLAP 函数 最近这个东东用得特别多,总结了一下 。 语法: FUNCTION_NAME(,,...) OVER() OLAP函数语法四个部分: 1、function本身 用于对窗口中的数据进行操作; 2、partitioning clause 用于将结果集分区; 3、order b
阅读全文
摘要:此时有个新需求,希望查看部门 D02 内,销售记录时间最早,销售量最小的记录。即希望得到这样的信息D02 2014/3/6 G01 430这样,就需要用keep(dense_rank first/last)来帮助处理 关于使用keep(dense_rank first/last) 会有一些疑问1.k
阅读全文
摘要:first_value()和last_value()字面意思已经很直观了,取首尾记录值。例:查询部门最早发生销售记录日期和最近发生的销售记录日期 看结果first_value()很直观,不用多解释但是,last_value()值,部门D01不是应该为2014/6/12,部门D02不是应该为2014/
阅读全文
摘要:通过rank()、dense_rank()、row_number()对记录进行全排列、分组排列取值但有时候,会遇到空值的情况,空值会影响得到的结果的正确性,如下所查。 我们可以看到部门D01中的销售数量为NULL的记录排名居然是第一,这显然是不对的。 此时,就需要用到nulls last来处理处理后
阅读全文
摘要:很多需求中都涉及到统计:均值、累计、范围均值、相邻记录比较等。这些操作会统计多次,或有明确的统计范围,或返回的记录统计的数据集不同... 根据场景不同可分为如下几类: 1. 全统计 2. 滚动统计 3. 范围统计 4. (相邻)行比较 构建测试数据: 一.全统计最常用的全统计就是均值或求和,有时会要
阅读全文
摘要:(1)rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。 (2)dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。(3)row_number函数返回一个唯一的
阅读全文
摘要:先通过一个例子,直观的感受下分析函数的简洁方便: 插入测试数据: 需求:求出全公每个时点司累计的销售数量,利用分析函数SQL如下: 结果如下: 通过这个例子,可以看到利用分析函数解决某些场景下的问题非常的直观简便。 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,
阅读全文
摘要:当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误。 这样的问题在MyBatis中或者自定义的xml处理sql的程序中经常需要我们来处理。其实很简单,我们只需作如下转义替
阅读全文