我们都知道在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等, 这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的. 但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数. hive中的窗口函数和sql中的窗口 ...
分类:
其他好文 时间:
2018-03-29 21:22:40
阅读次数:
166
SELECTp_type,p_name,p_view,row_numfrom( SELECTp_type,p_name,p_view,IF(@bak=p_type,@rownum:=@rownum+1,@rownum:=1)asrow_num,@bak:=p_type FROM (SELECTp_type,p_name,p_viewfromproducts orderbyp_type,p_viewdesc)a,(SELECT@rownum:=0,@bak:=‘‘)b )cWHEREc.row_num<..
分类:
编程语言 时间:
2017-06-13 14:38:27
阅读次数:
130
报表开发中,经常会碰到一些需要进行非常规统计的报表,预置分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊性,使用常规方法往往难于实现。
本文通过一个例子来了解集算报表在制作此类特殊统计报表的便捷过程。
报表说明
根据销售管理系统数据统计某年客户所在地区的订单总额,地区并按订单...
分类:
编程语言 时间:
2014-11-25 14:25:36
阅读次数:
249
oracle分析函数十分强大,我们只要掌握这些方法,更直接的说法就是知道这些分析函数的作用就能完成很多工作。
下边贴出这些函数,及简单应用。
其中我想对lag()和lead()函数坐下说明:lag()本身是延后的意思也就是延后出现某列的数,而lead()有引领、领先的意思也就是提前几行显示某列数据
RANK()
dense_rank()
【语法】RANK ( ) OVER ( [qu...
分类:
数据库 时间:
2014-09-25 12:31:18
阅读次数:
297