집계 쿼리 ROW_NUMBER, 한 줄로 끝 #shorts #SAP #ABAP
Moderator
· 조회 3
ABAP SQL Window Function 이란?
ABAP 7.4부터 SELECT 안에서 Window Function을 직접 쓸 수 있습니다. 행 단위 계산(순위·누계·이동평균)을 서브쿼리 없이 해결합니다.
ROW_NUMBER — 부서별 급여 순위
SELECT carrid,
paymentsum,
ROW_NUMBER() OVER (
PARTITION BY carrid
ORDER BY paymentsum DESC
) AS rnk
FROM sflight
INTO TABLE @DATA(lt_result).
PARTITION BY로 그룹을 나누고, ORDER BY로 순서를 지정합니다.
RANK vs DENSE_RANK
RANK() → 동점 건너뜀 (1, 1, 3)
DENSE_RANK() → 동점 유지 (1, 1, 2)
집계 Window: 누적 합계
SUM( paymentsum )
OVER (
PARTITION BY carrid
ORDER BY fldate
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS running_total
핵심 한 줄
복잡한 순위·누계 쿼리, OVER() 한 줄로 끝.