| Function | Description |
|---|---|
| COUNT | 총 갯수를 계산해주는 함수 |
| SUM | 합계 계산해주는 함수 |
| AVG | 평균 계산해주는 함수 |
| MIN | 가장 작은 값 찾는 함수 |
| MAX | 가장 큰 값 찾는 함수 |
| FIRST | 첫번째 결과값 리턴하는 함수 |
| LAST | 마지막 결과값 리턴하는 함수 |
SELECT COUNT(column)
FROM tablename
WHERE condition;
(예제)
-- 중복 제거
SELECT COUNT(distinct police_station) FROM crime_status;
SELECT COUNT(distinct crime_type) FROM crime_status;
SELECT SUM(column)
FROM tablename
WHERE condition;
(예제)
SELECT SUM(case_number) FROM crime_status
WHERE status_type = '발생';
SELECT SUM(case_number)
FROM crime_status
WHERE status_type = '검거' and police_station = '중부';
SELECT AVG(column)
FROM tablename
WHERE condition;
(예제) 평균 폭력 검거 건수는?
SELECT AVG(case_number) FROM crime_status
WHERE status_type = '검거' and crime_type LIKE '폭력';
SELECT MIN(column)
FROM tablename
WHERE condition;
(예제) 강도 발생 건수가 가장 적은 경우는 몇 건?
SELECT MIN(case_number) FROM crime_status
WHERE crime_type LIKE '강도' and status_type='발생';
SELECT MAX(column)
FROM tablename
WHERE condition;
(예제) 강남 경찰서에서 가장 많이 발생한 범죄 건수는?
SELECT MAX(case_number) FROM crime_status
WHERE police_station LIKE '강남' and status_type='발생';
SELECT column1, column2, ...
FROM tablename
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, column2, ... ;
(예제) 경찰서별로 총 발생 범죄 건수 조회
SELECT police_station, sum(case_number) 발생건수
FROM crime_status
WHERE status_type = '발생'
GROUP BY police_station
ORDER BY 발생건수 DESC
LIMIT 5;
SELECT column1, column2, ...
FROM tablename
WHERE condition
GROUP BY column1, column2, ...
HAVING condition (Aggregate Functions)
ORDER BY column1, column2, ... ;
(예제) 경찰서별로 발생한 범죄 건수의 합이 4000건보다 큰 경우 조회
SELECT police_station, sum(case_number) count
FROM crime_status
WHERE status_type = '발생'
GROUP BY police_station
HAVING count > 4000;