지원표 읽는 핵심

윈도우 함수 지원표는 공통 코어예외 기능을 분리해서 봐야 한다

실무 판단은 체크 표시를 모두 외우는 것이 아니라, 어디까지는 안전하게 이식되고 어디서부터 DBMS별 차이가 생기는지 빠르게 구분하는 데 있습니다.

모든 DBMS에서 바로 통하는 부분

대부분의 분석 패턴은 이미 공통 지원 영역 안에 있다

Oracle, MySQL 8.0+, PostgreSQL, SQL Server 모두에서 그대로 가져가기 쉬운 기본 축입니다.

순위 계산
ROW_NUMBER, RANK, DENSE_RANK, NTILE 정렬 기준 위에서 순번, 동순위, 분위 구간을 매기는 대표 패턴은 네 엔진 모두 같은 감각으로 쓸 수 있습니다.
행 간 비교
LAG, LEAD, FIRST_VALUE, LAST_VALUE 이전 행·다음 행 참조와 구간 안 첫 값·마지막 값 추적은 공통 지원이라 비교 분석 쿼리의 이식성이 높습니다.
분포·프레임
PERCENT_RANK, CUME_DIST, RANGE 프레임 누적 비율과 범위 기반 프레임도 공통이라, 기본적인 누적 분석과 백분위 계산은 표준 문법 중심으로 설계해도 됩니다.
별도 확인이 필요한 부분

차이는 많지 않지만, 예외는 쿼리 호환성을 바로 흔든다

지원표에서 따로 눈여겨볼 값은 주로 이 두 갈래입니다.

SQL Server NTH_VALUE 미지원

특정 번째 값을 직접 꺼내는 문법은 빠져 있습니다. 같은 의도를 구현하려면 다른 윈도우 함수 조합이나 쿼리 재구성이 필요합니다.

PostgreSQL GROUPS 프레임 지원

동일 정렬값 묶음을 기준으로 프레임을 자르는 고급 제어가 가능합니다. 표준보다 더 세밀한 범위 설계가 필요한 경우 강점이 됩니다.

Oracle · MySQL 8.0+ · SQL Server GROUPS 프레임 없음

같은 프레임 문법을 기대하면 바로 호환성 문제가 생깁니다. 고급 프레임이 필요하면 PostgreSQL 전제인지 먼저 확인해야 합니다.

실무 takeaway: 공통 코어만 써도 순위, 이동 비교, 누적 분포 분석은 거의 그대로 이식됩니다. 반대로 NTH_VALUEGROUPS 프레임처럼 예외가 걸리는 지점은 배포 대상 DBMS를 먼저 정하고 쿼리를 설계해야 합니다.