아래와 같이 절의 내부에 where 절을 사용할 수 있습니까?postgres의 over 절 안에있는 절
SELECT SUM(amount) OVER(partition by prod_name WHERE dateval > dateval_13week)
날짜가 순서가 아니기 때문에 앞뒤 다음 내부 인사말을 사용할 수 없습니다. 내가 가져올 필요가있는 것은 현재 레코드의 날짜 값이 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)
@D Stanley. 지금 내 EDIT를 확인해 주시겠습니까? 현재 행 날짜와 그 날짜 사이에있는 모든 항목의 합이 13 주 전까지 필요합니다. 단지 13 주 값과 비교할 수 없습니다. 내 현재 행 날짜 값은 항목을 가져 오는 참조입니다. – user2569524