ORACLE数据按SID和时间累积

这两天遇到这么一个问题

由于要跨系统提供数据做报表,所以想要尽可能的提供全面、准确、简单的数据,以便于对方直接取用

我做出这样的一个构想,

首先进行多表联合查询,将所有用到的点即SID按天数汇总出结果,然后再将结果进行按天数累计,

为了查询效率,做成视图,限制每次查询内容为当月1-n日。

很幸运效果很好。

那么其中在进行数据按天数累加时遇到了困难,累积出来的数据有两个限制条件一个SID一个gather (时间)

上网查了下 OVER函数能很好的满足需要。

  select t.*,
  round(  sum(sumnum_day) over (partition by t.sid  order by t.gather ) ,0)  as sum_Mon
from table_name  t; 
完美解决。

祝你好运!


猜你喜欢

转载自blog.csdn.net/xing_kong_xiongmao/article/details/80276767