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 ] ] ...
집계 함수 중 OVER 분석 절을 지원하는 분석 함수들은 다음과 같다. 분석 함수 예제는 해당 함수의 설명을 참고한다.