【发布时间】:2014-04-04 16:09:21
【问题描述】:
是否可以在如下子句中使用 where 子句?
SELECT SUM(amount) OVER(partition by prod_name WHERE dateval > dateval_13week)
我不能使用前面和后面的 inside over 子句,因为我的日期没有按顺序排列。 我只需要获取小于当前记录 13 周日期值的记录。
EDIT :
sum(CASE WHEN dateval >= dateval_13week and dateval <=current_row_dateval then amount else 0 end) over (partition by prod_name order by week_end desc)
为了详细说明,早些时候我使用以下查询对记录进行分区,当时我将所有日期都按顺序排列。现在我有随机顺序的日期,并且有一些日期丢失。
sum(amount) over
(partition by prod_name order by prod_name,week_end desc rows between 0 preceding and 12 following)
【问题讨论】:
标签: sql postgresql partitioning greenplum