230530_SQL

김지태·2023년 6월 12일
0
post-thumbnail

집계 함수 COUNT 기능
crime_status 테이블에서 경찰서는 총 몇 군데?
mysql> select count(distinct police_station) from crime_status;
+--------------------------------+
| count(distinct police_station) |
+--------------------------------+
| 31 |
+--------------------------------+
1 row in set (0.36 sec)
mysql> select distinct police_station from crime_status;
+----------------+
| police_station |
+----------------+
| 중부 |
| 종로 |
| 남대문 |
| 서대문 |
| 혜화 |
| 용산 |
| 성북 |
| 동대문 |
| 마포 |
| 영등포 |
| 성동 |
| 동작 |
| 광진 |
| 서부 |
| 강북 |
| 금천 |
| 중랑 |
| 강남 |
| 관악 |
| 강서 |
| 강동 |
| 종암 |
| 구로 |
| 서초 |
| 양천 |
| 송파 |
| 노원 |
| 방배 |
| 은평 |
| 도봉 |
| 수서 |
+----------------+
31 rows in set (0.25 sec)
crime_type은 총 몇 가지?
mysql> select * from crime_status limit 3;
+------+----------------+------------+-------------+-------------+-----------------------+
| year | police_station | crime_type | status_type | case_number | reference |
+------+----------------+------------+-------------+-------------+-----------------------+
| 2020 | 중부 | 살인 | 발생 | 1 | 서울중부경찰서 |
| 2020 | 중부 | 살인 | 검거 | 1 | 서울중부경찰서 |
| 2020 | 중부 | 강도 | 발생 | 3 | 서울중부경찰서 |
+------+----------------+------------+-------------+-------------+-----------------------+
3 rows in set (0.29 sec)
mysql> select distinct crime_type from crime_status;
+---------------+
| crime_type |
+---------------+
| 살인 |
| 강도 |
| 강간,추행 |
| 절도 |
| 폭력 |
| 강간 |
+---------------+
6 rows in set (0.34 sec)
mysql> select count(distinct crime_type) from crime_status;
+----------------------------+
| count(distinct crime_type) |
+----------------------------+
| 6 |
+----------------------------+
1 row in set (0.62 sec) (편집됨)

0111danye
오후 3:30
집계 함수 SUM 기능
범죄 총 발생 건수는?
mysql> select * from crime_status limit 2;
+------+----------------+------------+-------------+-------------+-----------------------+
| year | police_station | crime_type | status_type | case_number | reference |
+------+----------------+------------+-------------+-------------+-----------------------+
| 2020 | 중부 | 살인 | 발생 | 1 | 서울중부경찰서 |
| 2020 | 중부 | 살인 | 검거 | 1 | 서울중부경찰서 |
+------+----------------+------------+-------------+-------------+-----------------------+
2 rows in set (0.33 sec)
mysql> select sum(case_number) from crime_status where status_type='발생';
+------------------+
| sum(case_number) |
+------------------+
| 101966 |
+------------------+
1 row in set (0.42 sec)
살인의 총 발생 건수는?
mysql> select sum(case_number) from crime_status where status_type='발생' and crime_type like '살인';
+------------------+
| sum(case_number) |
+------------------+
| 160 |
+------------------+
1 row in set (0.26 sec)
중부 경찰서에서 검거된 총 범죄 건수는?
mysql> select sum(case_number)
-> from crime_status
-> where status_type='검거' and police_station='중부';
+------------------+
| sum(case_number) |
+------------------+
| 2812 |
+------------------+
1 row in set (0.60 sec)

0111danye
오후 4:25
police_station 에서 경찰서는 총 몇 개이고, 각각 경찰서 이름은 무엇인지 확인하라.
mysql> select * from police_station limit 5;
ERROR 2013 (HY000): Lost connection to MySQL server during query
No connection. Trying to reconnect...
Connection id: 88
Current database: zerobase
+-----------------------+--------------------------------------------------+
| name | address |
+-----------------------+--------------------------------------------------+
| 서울강남경찰서 | 서울특별시 강남구 테헤란로 114길 11 |
| 서울강동경찰서 | 서울특별시 강동구 성내로 33 |
| 서울강북경찰서 | 서울특별시 강북구 오패산로 406 |
| 서울강서경찰서 | 서울특별시 양천구 화곡로 73 |
| 서울관악경찰서 | 서울특별시 관악구 관악로5길 33 |
+-----------------------+--------------------------------------------------+
5 rows in set (0.99 sec)
mysql> select sum(name)
-> from police_station
-> ;
+-----------+
| sum(name) |
+-----------+
| 0 |
+-----------+
1 row in set, 31 warnings (0.20 sec)
mysql> select count(name) from police_station;
+-------------+
| count(name) |
+-------------+
| 31 |
+-------------+
1 row in set (0.20 sec)
mysql> select distinct name from police_station;
+--------------------------+
| name |
+--------------------------+
| 서울강남경찰서 |
| 서울강동경찰서 |
| 서울강북경찰서 |
| 서울강서경찰서 |
| 서울관악경찰서 |
| 서울광진경찰서 |
| 서울구로경찰서 |
| 서울금천경찰서 |
| 서울남대문경찰서 |
| 서울노원경찰서 |
| 서울도봉경찰서 |
| 서울동대문경찰서 |
| 서울동작경찰서 |
| 서울마포경찰서 |
| 서울방배경찰서 |
| 서울서대문경찰서 |
| 서울서부경찰서 |
| 서울서초경찰서 |
| 서울성동경찰서 |
| 서울성북경찰서 |
| 서울송파경찰서 |
| 서울수서경찰서 |
| 서울양천경찰서 |
| 서울영등포경찰서 |
| 서울용산경찰서 |
| 서울은평경찰서 |
| 서울종로경찰서 |
| 서울종암경찰서 |
| 서울중랑경찰서 |
| 서울중부경찰서 |
| 서울혜화경찰서 |
+--------------------------+
31 rows in set (0.20 sec)
mysql> select count(distinct name) from police_station;
+----------------------+
| count(distinct name) |
+----------------------+
| 31 |
+----------------------+
1 row in set (0.20 sec)

0111danye
오후 4:30
2. crime_status에서 status_type은 총 몇개이고, 각각 타입은 무엇인지 확인해라.
mysql> select * from crime_status limit 4;
+------+----------------+------------+-------------+-------------+-----------------------+
| year | police_station | crime_type | status_type | case_number | reference |
+------+----------------+------------+-------------+-------------+-----------------------+
| 2020 | 중부 | 살인 | 발생 | 1 | 서울중부경찰서 |
| 2020 | 중부 | 살인 | 검거 | 1 | 서울중부경찰서 |
| 2020 | 중부 | 강도 | 발생 | 3 | 서울중부경찰서 |
| 2020 | 중부 | 강도 | 검거 | 4 | 서울중부경찰서 |
+------+----------------+------------+-------------+-------------+-----------------------+
4 rows in set (0.20 sec)
mysql> select count (status_type) from crime_status;
ERROR 1630 (42000): FUNCTION zerobase.count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
mysql> select count(status_type) from crime_status;
+--------------------+
| count(status_type) |
+--------------------+
| 366 |
+--------------------+
1 row in set (0.20 sec)
mysql> select count(distinct status_type) from crime_status;
+-----------------------------+
| count(distinct status_type) |
+-----------------------------+
| 2 |
+-----------------------------+
1 row in set (0.19 sec)
mysql> select distinct status_type from crime_status;
+-------------+
| status_type |
+-------------+
| 발생 |
| 검거 |
+-------------+
2 rows in set (0.20 sec)

0111danye
오후 4:41
3. 종로경찰서와 남대문 경찰서의 강도 발생 건수의 합을 구하라.
mysql> select sum(case_number)
-> from crime_status
-> where crime_type = '강도' and (police_station like '종로' or police_station like '남대문');
+------------------+
| sum(case_number) |
+------------------+
| 24 |
+------------------+
1 row in set (0.20 sec)

0111danye
오후 4:48
4. 폭력 범죄의 검거 건수의 합을 구하라
mysql> select sum(case_number) from crime_status where crime_type = '폭력' and status_type = '검거';
+------------------+
| sum(case_number) |
+------------------+
| 44792 |
+------------------+

profile
데이터 분석가

0개의 댓글