[SQL] Aggregate Function

MJ·2024년 2월 11일

SQL

목록 보기
17/23

집계함수

COUNT : 총 개수를 계산하는 함수

select count(distinct crime_type) from crime_status;

SUM : 합계를 계산하는 함수

#종로와 남대문에서 일어난 강도 사건의 건수
select sum(case_number)
from crime_status
where crime_type = '강도' and (police_station like '%종로%' or police_station like '%남대문%');

AVG : 평균을 계산하는 함수

#평균 폭력 검거 건수
select avg(case_number)
from crime_status
where crime_type like '폭력' and status_type = '검거';

MIN : 가장 작은 값을 찾아주는 함수

#강도 발생건수가 가장 적은 경우는 몇 건?
select min(case_number)
from crime_status
where crime_type like '강도' and status_type ='발생';

MAX : 가장 큰 값을 찾아주는 함수

#살인이 가장 많이 검거된 경우는 몇 건?
select max(case_number)
from crime_status
where crime_type like '살인' and status_type ='검거';

FIRST : 첫번째 결과값을 리턴하는 함수
LAST : 마지막 결과값을 리턴하는 함수

GROUP BY : 그룹화하여 데이터를 조회

#경찰서별 총 발생 범죄 건수 검색
select police_station, sum(case_number) 발생건수
from crime_status
where status_type like '발생'
group by police_station
order by 발생건수 desc
limit 5;

HAVING : 조건에 집계함수가 포함되는 경우 where 대신 having사용

#경찰서별로 발생한 폭력과 절도 범죄 건수 평균이 2000이상인 경우를 검색
select police_station, avg(case_number)
from crime_status
where (crime_type like '폭력' or crime_type like '절도')
and ststus_type like '발생'
group by police_station
having avg(case_number) >= 2000;

0개의 댓글