如何在oracle中将值从当前日期汇总到上一年

时间:2013-04-09 10:07:42

标签: oracle oracle9i

任何人都可以帮我解决这个问题:

 Value  Date

 1000   01-jan-12
 ............
 1000   01-apr-13

我的目标是计算当前月份和当月以及当月和本年度前一年的分数总和。

1 个答案:

答案 0 :(得分:0)

您的示例数据显示距离2013年3月更多的一年。

假设您想回到2012年4月

select sum(value)
  from your_tab
 where date >= add_months(trunc(sysdate, 'mm', -12) -- from 1st apr 2012
   and date < trunc(sydate, 'mm');-- anytime up to the end of mar 2013

如果你想回到去年的jan,那么

select sum(value)
  from your_tab
 where date >= trunc(add_months(trunc(sysdate, 'mm', -12), 'yy') -- from 1st jan 2012
   and date < add_months(trunc(sydate, 'mm'), 1); -- anytime up to the end of apr 2013