01. COUNT
select count(distinct police_station) from crime_status;
crime_status table의 police_station 칼럼의 갯수
distinct는 unique와 같은 기능을 한다.
02. SUM
select sum(case_number) from crime_status where status_type="발생";
crime_status table의 case_number 중 status_type이 "발생"인 경우의 총 합
-> 범죄 총 발생 건수
select sum(case_number) from crime_status where crime_stype="살인";
crime_status table의 case_number 중 status_stype이 "살인"인 경우의 총 합
-> 살인 총 건수
select sum(case_number) from crime_status where crime_stype="살인" and status_type like "발생";
살인 사건 중, status_type이 발생인 경우의 총 합
-> 살인 총 발생 건수
select sum(case_number)
from crime_status
where police_station = "중부" and status_type = "검거";
-> 중부 경찰서에서 검거된 총 범죄 건수
mysql> select sum(case_number) from crime_status
-> where crime_stype = "강도" and ( police_station LIKE '종로' or police_station LIKE '남대문');
-> 서울종로경찰서와 서울남대문경찰서에서 강도 사건 발생 건수 합
03. AVG
mysql> select avg(case_number)
-> from crime_status
-> where crime_stype like '폭력' and status_type='검거';
-> 경찰서 별 평균 폭력 검거 건수
mysql> select avg(case_number)
-> from crime_status
-> where police_station like '중부' and status_type like '발생';
-> 중부경찰서 범죄 평균 발생 건수
04. MIN
mysql> select min(case_number)
-> from crime_status
-> where crime_stype like '강도' and status_type='발생';
-> 강도 발생 건수가 가장 적은 경우의 건수
mysql> select case_number, crime_stype, status_type
-> from crime_status
-> where crime_stype like '강도' and status_type = '발생';
위 코드로 직접 확인 가능하다.
05. MAX
mysql> select max(case_number)
-> from crime_status
-> where crime_stype like '살인' and status_type like '검거';
-> 살인이 가장 많이 검거된 건수
mysql> select *
-> from crime_status
-> where crime_stype like '살인' and status_type like '검거';
해당 조건의 전체 리스트 불러오면서 직접 확인 가능하다.
mysql> select max(case_number)
-> from crime_status
-> where police_station like '강남' and status_type like '발생';
-> 강남경찰서에서 가장 많이 발생한 건수는?
06. GROUP BY
: 그룹화하여 데이터를 조회
SELECT police_station, sum(case_number) 발생건수
FROM crime_status
WHERE status_type LIKE '발생'
GROUP BY police_station
ORDER BY 발생건수 DESC
LIMIT 5;
-> 경찰서 별로 총 발생 건수를 검색
07. HAVING
: 조건에 집계함수가 포함되는 경우 WHERE 대신 HAVING 사용
SELECT police_staiton , sum(case_number) count
FROM crime_status
WHERE status_type LIKE '발생'
GROUP BY police_station
HAVING count > 4000;
-> 경찰서 별로 발생한 범죄 건수의 합이 4000건보다 큰 경우를 검색
'mySql' 카테고리의 다른 글
[MySql] 기본 쿼리문 (0) | 2023.01.31 |
---|---|
[MySql] 정의 (0) | 2023.01.31 |
[mysql] primary key / foreign key 실습 (0) | 2022.12.10 |
[mysql] foreign key 예제 (0) | 2022.12.10 |
[mysql] Foreign Key (0) | 2022.12.09 |