0
내 초기 테이블은 내가 다음과 같은 결과 테이블을 필요로이Teradata. 그룹 내의 모든 값을 합산하는 방법?
id value
1 20
1 50
1 30
2 60
2 5
2 35
과 같은
id value cum | (this is explanation not a field)
_ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _
1 20 20 | (0 + 20 = 20)
1 30 50 | (30 + 20 = 50)
1 50 100 | (50 + 50 = 100)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _
2 5 5 | (0 + 5 = 5)
2 35 40 | (5 + 35 = 40)
2 60 100 | (40 + 60 = 100)
논리는
1) ORDER
원래 테이블 BY value ASC
2) SUM
최대 이전 누적 값은 누적 값가됩니다.필드. 따라서 열은 현재 value
보다 작은 value
중 SUM
입니다.
없이 SQL로이 작업을 수행 할 필요가
? rows unbounded preceding and unbounded following
에, range unbounded preceding
의 표준 SQL의 기본과 다른 (A 그룹 합계)를, 그것 때문에 기본값을
sum(value)
over (partition by id
order by values
rows unbounded preceding)
rows unbounded preceding
는 테라 데이타 필요하다 :
'SEL "ID", "값", SUM이 모두 제공 1,2' BY myTab FROM \t이 \t GROUP ("값"BY "ID"ORDER BY PARTITION) OVER ("값")'100' – john
제대로하고 있습니까? – john
죄송합니다. '행 바운드 선행'부분을 잊어 버렸습니다. – dnoeth