집계 쿼리 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() 한 줄로 끝.