COUNT
구문
COUNT({ * | [ DISTINCT | ALL ] expr }) [ OVER (analytic_clause) ]
참고:
구문, 의미, 그리고 제한 사항에 대한 정보는 Analytic Functions에 대한 내용을 참조하세요.
목적
COUNT 함수는 쿼리에 의해 반환된 행의 수를 반환합니다. 이 함수는 집계(aggregated) 또는 분석(analytic) 함수로 사용할 수 있습니다.
만약 DISTINCT를 지정하면, analytic_clause의 query_partition_clause만 지정할 수 있습니다. order_by_clause와 windowing_clause는 허용되지 않습니다.
expr을 지정하면, COUNT는 expr이 null이 아닌 행의 수를 반환합니다. 모든 행 또는 expr의 고유한 값을 기준으로 계산할 수 있습니다.
별표(*)를 지정하면, 이 함수는 중복과 null을 포함한 모든 행을 반환합니다. COUNT는 결코 null을 반환하지 않습니다.
참고: 대량의 데이터에서 COUNT (DISTINCT expr) 연산을 수행하기 전에 정확한 결과보다 빠르게 근사 결과를 얻기 위해 다음 중 하나의 방법을 사용하는 것을 고려하세요:
• COUNT (DISTINCT expr) 함수를 사용하기 전에 APPROX_FOR_COUNT_DISTINCT 초기화 매개변수를 true로 설정하세요. 이 매개변수에 대한 자세한 정보는 Oracle Database Reference를 참조하세요.
• COUNT (DISTINCT expr) 함수 대신 APPROX_COUNT_DISTINCT 함수를 사용하세요. APPROX_COUNT_DISTINCT를 참조하세요.
참고:
- "About SQL Expressions"에서 expr의 유효한 형식과 Aggregate Functions에 대한 정보를 확인하세요.
- Oracle Database Globalization Support Guide의 부록 C는 COUNT 함수가 DISTINCT 절의 문자 값 비교에 사용하는 정렬(collation) 결정 규칙에 대한 정보를 제공합니다.
집계 예제
다음 예제들은 COUNT를 집계 함수로 사용하는 예시입니다:
SELECT COUNT(*) "Total"
FROM employees;
Total
----------
107
SELECT COUNT(*) "Allstars"
FROM employees
WHERE commission_pct > 0;
Allstars
---------
35
SELECT COUNT(commission_pct) "Count"
FROM employees;
Count
----------
35
SELECT COUNT(DISTINCT manager_id) "Managers"
FROM employees;
Managers
----------
18
분석 예제
다음 예제는 employees 테이블의 각 직원에 대해, 직원의 급여에서 50 미만부터 150 초과까지의 범위 내에 있는 급여를 가진 직원들의 이동 개수를 계산합니다.
SELECT last_name, salary,
COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING AND
150 FOLLOWING) AS mov_count
FROM employees
ORDER BY salary, last_name;
LAST_NAME SALARY MOV_COUNT
------------------------- ---------- ----------
Olson 2100 3
Markle 2200 2
Philtanker 2200 2
Gee 2400 8
Landry 2400 8
Colmenares 2500 10
Marlow 2500 10
Patel 2500 10
. . .
출처: 오라클 레퍼런스
원문 링크: Oracle COUNT 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] COVAR_SAMP - 숫자 쌍에 대한 표본 공분산 반환 (0) | 2023.08.03 |
---|---|
[오라클 레퍼런스 함수] COVAR_POP - 숫자 쌍에 대한 모집단 공분산 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] COSH - 하이퍼볼릭(쌍곡선)의 코사인 값 반환 (0) | 2023.08.03 |
[오라클 레퍼런스 함수] COS - 라디안 각도를 코사인으로 변환 (0) | 2023.08.02 |
[오라클 레퍼런스 함수] CORR_* - Pearson 상관 계수 계산 (0) | 2023.08.02 |
댓글