是否可以在如下子句中使用 where 子句?
SELECT SUM(amount) OVER(partition by prod_name WHERE dateval > dateval_13week)
由于我的日期不按顺序排列,因此我不能使用 before 和 following 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)