我需要按周间隔聚合值。我的日期范围是动态的,我可以给出任何开始日期和结束日期。每个星期天应该是每个月的开始周。如果我有两列,我的开始和结束日期是2016年11月7日至2016年11月13日
column A column B
07/11/2016 23
08/11/2016 20
09/11/2016 10
10/11/2016 05
11/11/2016 10
12/11/2016 20
13/11/2016 10
我的结果应该像取B列的平均值
Column A Column B
13/11/2016 14.00
这意味着我应该考虑过去的价值并将其汇总到那周的那个星期日。此外,如果我的开始和结束日期类似于2016年11月7日至2016年11月10日,那么我不应该汇总该值,因为我的周未完成。我能够聚合这些值,但如果我的周没有完成,我就无法限制聚合。 有没有办法在PL / SQL中执行此操作?
提前谢谢。
答案 0 :(得分:0)
select to_char(columnA, 'iw') as weeknumber, avg(columnB)
from table
group by to_char(columnA, 'iw');
这将按周数汇总。如果您需要将星期的最后一天显示为标签,则可以将其显示为max(columnA) over (partition by to_char(columnA, 'iw'))