[프로그래머스] LV2. 연도 별 평균 미세먼지 농도 조회하기 (SQL)

2026. 5. 26. 23:06·SQL

 

 

문제 링크

 

 

구분

코딩테스트 연습 > String, Date

 

 

문제 설명

AIR_POLLUTION 테이블은 전국의 월별 미세먼지 정보를 담은 테이블입니다. AIR_POLLUTION 테이블의 구조는 다음과 같으며 LOCATION1, LOCATION2, YM, PM_VAL1, PM_VAL2은 각각 지역구분1, 지역구분2, 측정일, 미세먼지 오염도, 초미세먼지 오염도를 의미합니다.

Column name Type Nullable
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

 

 

 

 

 

문제 풀이

YEAR(), ROUND() 떠올리기 다 쉬웠는데. GROUP BY YEAR(YM) 은 생각 못했다. 위치를 그룹핑 해야 하는줄 알았다.

해당 문제는 수원의 연도별 미세먼지 농도를 구하는 것이므로, 연도를 그룹핑 해줘야한다.

또한, PM2.5 때문에 에러가 났을 텐데, ' '를 사용하자

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(YM)
ORDER BY YEAR ASC;

 

 

 

 

 

'SQL' 카테고리의 다른 글

[프로그래머스] LV2. 업그레이드 된 아이템 구하기 (SQL)  (0) 2026.05.14
[프로그래머스] LV2. 물고기 종류 별 잡은 수 구하기 (SQL)  (0) 2026.05.14
[프로그래머스] LV2. 조건에 맞는 개발자 찾기 (SQL)  (0) 2026.05.13
[프로그래머스] LV2. 상품 별 오프라인 매출 구하기 (SQL)  (0) 2026.05.12
[프로그래머스] LV2. 분기별 분화된 대장균의 개체 수 구하기 (SQL)  (0) 2026.05.12
'SQL' 카테고리의 다른 글
  • [프로그래머스] LV2. 업그레이드 된 아이템 구하기 (SQL)
  • [프로그래머스] LV2. 물고기 종류 별 잡은 수 구하기 (SQL)
  • [프로그래머스] LV2. 조건에 맞는 개발자 찾기 (SQL)
  • [프로그래머스] LV2. 상품 별 오프라인 매출 구하기 (SQL)
아기꼬래
아기꼬래
  • 아기꼬래
    아꼬의 개발 일지
    아기꼬래
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 프로젝트 및 공모전 (4)
        • Oracle 프로젝트 (3)
      • Algorithm Solving (26)
      • SQL (9)
      • Data Analysis (12)
      • AI (0)
      • FastAPI (0)
      • Spring Boot (0)
      • Oracle (1)
      • AWS (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Tableau
    python
    일경험 프로젝트
    파이썬
    Oracle 일경험
    미래내일 일경험
    시각화
    오라클 프로젝트
    data analysis
    태블로
    프로그래머스
    Oracle 프로젝트
    데이터시각화
    Algorithm
    coding test
    일경험
    Oracle
    SQL
    Algorithm Solving
    한국오라클
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
아기꼬래
[프로그래머스] LV2. 연도 별 평균 미세먼지 농도 조회하기 (SQL)
상단으로

티스토리툴바