728x90
링크
https://school.programmers.co.kr/learn/courses/30/lessons/284530
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
AIR_POLLUTION 테이블은 전국의 월별 미세먼지 정보를 담은 테이블입니다. AIR_POLLUTION 테이블의 구조는 다음과 같으며 LOCATION1, LOCATION2, YM, PM_VAL1, PM_VAL2은 각각 지역구분1, 지역구분2, 측정일, 미세먼지 오염도, 초미세먼지 오염도를 의미합니다.
| LOCATION1 | VARCHAR | FALSE |
| LOCATION2 | VARCHAR | FALSE |
| YM | DATE | FALSE |
| PM_VAL1 | NUMBER | FLASE |
| PM_VAL2 | NUMBER | FLASE |
문제
AIR_POLLUTION 테이블에서 수원 지역의 연도 별 평균 미세먼지 오염도와 평균 초미세먼지 오염도를 조회하는 SQL문을 작성해주세요. 이때, 평균 미세먼지 오염도와 평균 초미세먼지 오염도의 컬럼명은 각각 PM10, PM2.5로 해 주시고, 값은 소수 셋째 자리에서 반올림해주세요.
결과는 연도를 기준으로 오름차순 정렬해주세요.
예시
AIR_POLLUTION 테이블이 다음과 같을 때
LOCATION1/LOCATION2/YM/PM_VAL1/PM_VAL2| 경기도 | 수원 | 2018-01-01 | 48 | 27 |
| 경기도 | 수원 | 2018-02-01 | 51 | 30 |
| 경기도 | 수원 | 2018-03-01 | 52 | 21 |
| 경기도 | 수원 | 2018-04-01 | 52 | 20 |
| 경기도 | 수원 | 2018-05-01 | 45 | 19 |
| 경기도 | 수원 | 2018-06-01 | 39 | 17 |
| 경기도 | 수원 | 2018-07-01 | 27 | 15 |
| 경기도 | 수원 | 2018-08-01 | 26 | 16 |
| 경기도 | 수원 | 2018-09-01 | 21 | 12 |
| 경기도 | 수원 | 2018-10-01 | 31 | 18 |
| 경기도 | 수원 | 2018-11-01 | 56 | 21 |
| 경기도 | 수원 | 2018-12-01 | 44 | 27 |
| 서울시 | 노원 | 2018-11-01 | 25 | 45 |
| 경기도 | 용인 | 2018-02-01 | 14 | 21 |
SQL을 실행하면 다음과 같이 출력되어야 합니다.
YEAR/PM10/PM2.5| 2018 | 41 | 20.25 |
풀이
select
YEAR(YM) as YEAR
,round(avg(PM_VAL1),2) as 'PM10'
,round(avg(PM_VAL2),2) as 'PM2.5'
from AIR_POLLUTION
where LOCATION2 = '수원'
group by YEAR
order by YEAR
year 로 연도만 뽑은후 해당 연도로 그룹을 묶고
지역을 수원으로 지정한다 ( 이떄 LOCATION1은 경기도로 같길래 하드코딩으로 수원을 넣었는데 그룹해서 havingd 으로 해도 무당할듯)
그리고 반올림 평균 하면끗
728x90
'문제풀이 > SQL' 카테고리의 다른 글
| 분기별 분화된 대장균의 개체 수 구하기 (0) | 2025.07.02 |
|---|---|
| 한 해에 잡은 물고기 수 구하기 (1) | 2025.07.02 |
| 특정 물고기를 잡은 총 수 구하기 (0) | 2025.06.10 |
| 잡은 물고기의 평균 길이 구하기 (0) | 2025.06.10 |
| ROOT 아이템 구하기 (1) | 2025.06.10 |
댓글