IT Log

[SQL Server] Functions - 분석 함수 본문

SQL/SQL Server

[SQL Server] Functions - 분석 함수

newly0513 2022. 1. 18. 11:27
728x90
반응형

분석 함수

집계 함수와의 차이

  • 각 그룹에 대해 여러 행을 반환
  • 그룹 내 상위 N개 결과

 


CUME_DIST

CUME_DIST( )  
    OVER ( [ partition_by_clause ] order_by_clause )

FIRST_VALUE / LAST_VALUE

-- FIRST_VALUE > 정렬된 값 집합의 첫번째 값을 반환
FIRST_VALUE ( [scalar_expression ] )  [ IGNORE NULLS | RESPECT NULLS ]
    OVER ( [ partition_by_clause ] order_by_clause [ rows_range_clause ] )
    
-- LAST_VALUE > 정렬된 값 집합의 마지막 값을 반환
LAST_VALUE ( [ scalar_expression ] )  [ IGNORE NULLS | RESPECT NULLS ]
    OVER ( [ partition_by_clause ] order_by_clause rows_range_clause )

LAG / LEAD

-- LAG > 현재 행의 값을 이전 행과 비교
LAG (scalar_expression [,offset] [,default])  
    OVER ( [ partition_by_clause ] order_by_clause )
    
-- LEAD > 현재 행의 값을 이후 행과 비교
LEAD ( scalar_expression [ ,offset ] , [ default ] )   
    OVER ( [ partition_by_clause ] order_by_clause )

PERCENT_RANK

PERCENT_RANK( )  
    OVER ( [ partition_by_clause ] order_by_clause )

PERCENTILE_CONT / PERCENTILE_DISC

 

-- PERCENTILE_CONT > 연속 분포를 기반으로 백분위수를 계산
PERCENTILE_CONT ( numeric_literal )   
    WITHIN GROUP ( ORDER BY order_by_expression [ ASC | DESC ] )  
    OVER ( [ <partition_by_clause> ] )

-- PERCENTILE_DISC > 행 집합의 정렬된 값의 특정 백분위수를 계산
PERCENTILE_DISC ( numeric_literal ) WITHIN GROUP ( ORDER BY order_by_expression [ ASC | DESC ] )  
    OVER ( [ <partition_by_clause> ] )

 

 

728x90
반응형

'SQL > SQL Server' 카테고리의 다른 글

[SQL Server] Functions - 문자열 함수  (0) 2022.01.20
[SQL Server] Functions - 순위 함수  (0) 2022.01.18
[SQL Server] Functions - 집계 함수  (0) 2022.01.18
[SQL Server] BULK INSERT  (0) 2022.01.17
[SQL Server] MERGE  (0) 2022.01.17
Comments