AGGREGATE FUNCTIONS(집계함수)

JYJ·2022년 2월 28일
0

SQL / MySQL

목록 보기
14/25

AGGREGATE FUNCTIONS(집계함수)

  • 여러 컬럼 혹은 여러 테이블 전체 컬럼으로부터 하나의 결과값을 반환하는 함수


COUNT

  • 총 갯수를 계산해 주는 함수

✔ police_station 테이블에서 데이터는 모두 몇개인가

SELECT COUNT(*) FROM police_staion;

✔ crime_status 테이블에서 중복을 제외한 경찰서는 총 몇군데인가

SELECT COUNT(DISTINCT police_staion) FROM crime_status;

SUM

  • 숫자 칼럼의 합계를 계산해주는 함수

✔ status_type이 '발생'이고 crime_type이 '살인'과 관련된 것들의 총 발생건수는?

SELECT SUM(case_number)
FROM crime_status
WHERE status_type='발생' AND crime_type LIKE '살인';

✔ 경찰서 별로 총 발생 범죄 건수를 검색

SELECT police_station, sum(case_number) 발생건수
FROM crime_status
WHERE status_type LIKE '발생'
GROUP BY police_station
ORDER BY 발생건수 DESC
LIMIT 5;


AVG

  • 숫자 컬럼의 평균을 계산해주는 함수

✔ '폭력'과 관련된 평균 '검거' 건수는?

SELECT AVG(case_number)
FROM crime_status
WHERE crime_type LIKE '폭력' AND status_type='검거';

✔ 경찰서별 평균 범죄 발생건수와 평균 범죄 검거건수를 조회

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


MIN

  • 숫자 컬럼 중 가장 작은 값을 찾아주는 함수

✔ 중부경찰서에서 가장 낮은 검거 건수는?

SELECT MIN(case_number)
FROM crime_status
WHERE police_station LIKE '중부' AND status_type LIKE '검거';

MAX

  • 숫자 컬럼 중 가장 큰 값을 찾아주는 함수

  • 날짜 컬럼에서는 가장 최근값을 찾아줌

✔ 강남경찰서에서 가장 많이 발생한 범죄 건수는?

SELECT MAX(case_number)
FROM crime_status
WHERE police_station LIKE '강남' AND status_type LIKE '발생';
profile
Study note

0개의 댓글