Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 9.0.0 | 

개요

집계 함수
설명

집계 함수(aggregate functions)는 행들의 그룹에 기반하여 하나의 결과를 반환한다. GROUP BY 절을 포함하면 각 그룹마다 한 행의 집계 결과를 반환한다. GROUP BY 절을 생략하면 전체 행에 대해 한 행의 집계 결과를 반환한다. HAVING 절은 GROUP BY 절이 있는 질의에 조건을 추가할 때 사용한다.

대부분의 집계 함수는 DISTINCT를 사용할 수 있다. GROUP BY … HAVING 절에 대해서는 GROUP BY … HAVING 절을 참고한다.

분석 함수
설명

분석 함수(analytic functions)는 행들의 결과에 기반하여 집계 값을 계산한다. 분석 함수는 OVER 절 뒤의 query_partition_clause에 의해 지정된 그룹들(이 절이 생략되면 모든 행을 하나의 그룹으로 봄)을 기준으로 한 개 이상의 행을 반환할 수 있다는 점에서 집계 함수와 다르다.

분석 함수는 특정 행 집합에 대해 다양한 통계를 허용하기 위해 기존의 집계 함수들 일부에 OVER라는 새로운 분석 절이 함께 사용된다.

구문

function_name ( [argument_list ] ) OVER (<analytic_clause>)

 

<analytic_clause>::=

     [ <query_partition_clause> ] [ <order_by_clause> ]

    

<query_partition_clause>::=

    PARTITION BY value_expr [, value_expr ]...

 

<order_by_clause>::=

    ORDER BY { expr | position | column_alias } [ ASC | DESC ]

        [, { expr | position | column_alias } [ ASC | DESC ] ] ...

  • <query_partition_clause> : 하나 이상의 value_expr에 기반한 그룹들로, 질의 결과를 분할하기 위해 PARTITION BY 절을 사용한다.
  • <order_by_clause> : <query_partition_clause>에 의한 분할(partition) 내에서 데이터의 정렬 방식을 명시한다. 여러 개의 키로 정렬할 수 있다. <query_partition_clause>가 생략될 경우 전체 결과 셋 내에서 데이터를 정렬한다. 정렬된 순서에 의해 이전 값을 포함하여 누적한 레코드의 컬럼 값을 대상으로 함수를 적용하여 계산한다.
참고

집계 함수 중 OVER 분석 절을 지원하는 분석 함수들은 다음과 같다. 분석 함수 예제는 해당 함수의 설명을 참고한다.