문법 |
목적 |
COUNT함수는 쿼리에 의해 반환된 행의 수를 반환한다.집계 함수 또는 분석함수로 이용할수 있다.
만약 DISTINCT를 지정했다면, analytic_clause의
query_partition_clause도
지정할수 있다. order_by_clause과
indowing_clause은 허용하지
않는다.
만약 expr을 지정하면, COUNT는 expr이 NULL이 아닌 행의 수를 반환한다. expr의
모든 행을 카운트 하거나 expr의 distinct값만 카운트 할수 있다. 만약 '*'을 지정했다면, 이 함수는 중복과 NULL을 포함한 모든
행을 반환한다. COUNT함수 결과는 NULL을 반환하지 않는다.
|
See Also: "About SQL Expressions " for information on valid forms ofexpr and "Aggregate
Functions " |
예제 |
집계
예제
다음 예제는 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
다음 예제는 employee테이블에서 각 종업원에 대하여, 그 종업원의 급여보다 50보다 적은
금액으로부터 150보다 많은 급여를 벌고 있는 종업원의 수를 계산한다.
SELECT last_name, salary,
COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING
AND 150 FOLLOWING) AS mov_count FROM employees;
LAST_NAME SALARY MOV_COUNT
------------------------- ---------- ----------
Olson 2100 3
Markle 2200 2
Philtanker 2200 2
Landry 2400 8
Gee 2400 8
Colmenares 2500 10
Patel 2500 10
. . .