윈도우 함수 (WINDOW 함수)

💡 윈도우 함수란?

    행과 행간의 관계를 정의하거나 행과 행간을 비교, 연산하는 함수

  • 윈도우 함수에는 OVER 문구가 필수 키워드로 포함
SELECT 칼럼명, 칼럼명, .... ,
WINDOW_FUNCTION (ARGUMENTS)
OVER ([PARTITION BY 칼럼] [ORDER BY 절] [WINDOWING 절]) ALIAS
FROM 테이블명;

💡 그룹 내 순위 함수

함수의미예시
RANK- 특정 항목(컬럼), 범위(파티션) / 전체 데이터에 대한 순위를 구하는 함수
- 동일한 값에 대해서는 동일한 순위
1, 2, 2, 4
DENSE_RANK- RANK와 흡사하나, 동일한 순위를 하나의 건수로 취급
- 중간 순위를 건너뛰지 않음
1, 2, 2, 3
ROW_NUMBER동일한 값이라도 고유한 순위를 부여1, 2, 3, 4

💡 일반 집계 함수

  • SUM
  • MAX, MIN
  • AVG
  • COUNT

💡 그룹 내 행 순서 함수

    SQL Server에서는 불가

함수의미형태
FIRST_VALUE 함수- 파티션별 윈도우의 최초로 나온 값
LAST_VALUE 함수파티션별 윈도우의 가장 마지막에 나온 값
LAG 함수파티션별 윈도우에서 이전 몇 번째 행의 값LAG (인수, 몇행 앞, 없는 경우 반환)
LEAD파티션별 윈도우에서 이후 몇 번째 행의 값LEAD(인수, 몇행 뒤, 없을 경우 반환)

💡 그룹 내 비율 함수

    SQL Server에서는 불가

함수의미결과 값
RATIO_TO_REPORT- 파티션 내 전체 SUM(칼럼) 값에 대한 행별 칼럼 값의 백분율을 소수점으로 반환
- 개별 RATIO 합을 구하면 1
0 < 결과 값 <= 1
PERCENT_RANK- 파티션별 윈도우에서 제일 먼저 나오는 것 0, 제일 늦게 나오는 것을 1로 하여, 값이 아닌 행의 순서별 백분율 반환
- 같은 ORDER 순위 인정, 앞 행의 결과 값을 기준으로 삼음
0 <= 결과 값 <= 1
CUME_DIST- 파티션별 윈도우의 전체 건수에서 현재 행보다 작거나 같은 건수에 대한 누적 백분율
- 같은 ORDER 순위 인정, 뒤 행의 결과 값을 기준으로 삼음
0 < 결과 값 <= 1
NTILE- 파티션별 전체 건수를 ARGUMENT 값으로 N등분한 결과
- 나머지는 앞의 그룹부터 차례로 할당

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN