강의 정리 5회차

모서아·2024년 12월 3일

SQL

목록 보기
5/6

윈도우 함수 : over() 절과 함께 사용, 행을 그룹화, 정렬, 범위 설정하여 다양한 함수들을 제공

윈도우 함수 기본 문법
select 윈도우함수(컬럼1) over (
	[partition by 컬럼2] -- 그룹화
    [order by 컬럼3 asc/desc] --정렬
    [rows/range between a and b] --계산 범위
    ) as 결과
    from 테이블;

윈도우 함수의 진행 순서

  1. 데이터를 파티션으로 나눔 (그룹화)
  2. 각 그룹별 데이터 정렬
  3. 정렬된 데이터 내에서 연산범위 설정
  4. 지정된 범위와 정렬에 따라 윈도우함수 값 계산

윈도우 함수 특징

집계 함수의 확장 : sum,avg 등의 집계 결과를 개별 행에 표시
1.기존 집계 함수는 그룹 단위로 함수가 적용되지만, 윈도우 함수는 각 행의 데이터와 함께 집계 결과 유지
2. 원본 데이터 유지 : 원본 데이터와 함께 윈도우 함수의 결과를 동시에 확인 가능
3. 다양한 기능의 함수 제공 : 순위 매기기, 누적합 계산, 특정 행 값 참조, 백분위 계산 등등

윈도우 함수가 추가된다면 ?
from → on → join → where → group by → having → 윈도우 → select → distinct→ order by → limit

종류 : 순위 함수 → rank(), dense_rank(), row nember()
집계 함수 → sum() -그룹화된 데이터(파티션 내)에 대해 누적합 계산 (△생각하기!)
행 참조 함수 → laf(),lead()
비율 함수 : percent_rank()

윈도우 함수 범위 지정 링크텍스트
raws : 데이터 행 순서 기준 (앞뒤 한 행씩)
range : 데이터 값 기준 (값 +, - 인 모든 행)

범위 옵션 (나중에 필요할 듯)

0개의 댓글