SQL) 집계 함수

계산하기

SELECT COUNT(column)
FROM tablename
WHERE condition;​

SELECT SUM(column)
FROM tablename
WHERE condition;

평균

SELECT AVG(column)
FROM tablename
WHERE condition;

최소 최대

SELECT MIN|MAX(column)
FROM tablename
WHERE condition;

그룹화 기준

SELECT column1, column2, ...
FROM table
WHERE condition
GROUP BY column1, column2, ...
ORDER BY column1, column2, ...;

경찰서별로 그룹화된 Crime_status에서 경찰서 이름 검색

SELECT police_station
FROM crime_status
GROUP BY police_station
ORDER BY police_station;

경찰서 유형은 DISTINCT로 검색 가능하나 ORDER BY는 불가능

SELECT DISTINCT police_station FROM crime_status;

경찰서별 평균 범죄 체포 건수 찾아보기

SELECT police_station, avg(case_number) 평균검거건수
FROM crime_status
WHERE status_type LIKE '검거'
GROUP BY police_station
ORDER BY 평균검거건수 DESC

경찰 평균 범죄 검거 건수, 평균 범죄 검거 건수

SELECT police_station, status_type, avg(case_number)
FROM crime_status
GROUP BY police_station, status_type;

HAVING : 조건에 집계 함수가 포함된 경우 WHERE 대신 HAVING 사용

SELECT column1, column2, ...
FROM table
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 LIKE '발생'
GROUP BY police_station
HAVING count > 4000;