2011-09-01 4 views
1

OVER (Partition by column_also_in_select_plan) 중 하나 인 여러 다른 합계를 선택하려고합니다.Oracle SQL : 합계 (그 때의 양이 0 인 경우) OVER (파티션 by ...) = 오른쪽으로 GROUP BY 문을 얻을 수 없습니다.

그러나 나는 GROUP BY 성명을 올바르게 받아 들일 수없는 것처럼 보입니다.

예 :

Select 1, 2, 3, sum(4) over (partition by 3), sum(case when 6 = etc...) 
FROM table 
Where filters 
GROUP BY ? 

어떤 조언 : 정말 같은 시간에 윈도우 함수를 사용하여 집계 일을 할 많은 이해가되지 않습니다

답변

0

주셔서 감사합니다, 그래서 난 너 혼란스럽지 않아. 위의 예에서 윈도우 팅을 외부 쿼리로 옮기고 싶습니다. 즉,

select 1, 2, 3, sum(sum4) over(partition by 3), ... 
from (
     select 1, 2, 3, sum(4) as sum4 
     from table 
     where filters 
     group by 1, 2, 3 
) x