【发布时间】:2014-11-26 09:42:51
【问题描述】:
我需要编写一个查询来计算上月末和月末之间的差异以及去年年底和月末之间的差异。我在 sqlfiddle http://sqlfiddle.com/#!4/b9749 中创建了示例数据库 在我的数据库中,最重要的日期始终是月底,但正如您在示例中看到的那样,还有其他日期,但我不能使用这些日期的值。当我以 date ='2014-04-30' 为条件运行此查询时,结果应如下所示:
date product amount last_month_diff last_year_end_diff
2014-04-30 a1 350 -150 650
2014-04-30 b1 123 -123 1877
当我以 date ='2014-05-31' 为条件运行此查询时,结果应该是这样的
date product amount last_month_diff last_year_end_diff
2014-05-31 a1 400 -50 600
2014-05-31 b1 500 -377 1500
2014-05-31 c1 200 0 0
当我以 date ='2014-06-30' 为条件运行此查询时,结果应该是这样的
date product amount last_month_diff last_year_end_diff
2014-06-30 b1 780 -280 1220
2014-06-30 c1 100 100 0
起初我以为我使用分析函数(滞后),但我可能在两个月末之间有很多日期,我不知道如何达到预期的结果。
【问题讨论】:
标签: oracle