몸과 마음이 건전한 SW 개발자

[SQL-DATE] 프로그래머스 Lv. 2 연도 별 평균 미세먼지 농도 조회하기 본문

SQL/String, Date

[SQL-DATE] 프로그래머스 Lv. 2 연도 별 평균 미세먼지 농도 조회하기

스위태니 2024. 12. 21. 16:43

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/284530

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

정답 코드

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;

풀이 과정

 

  1. SELECT:
    • 쿼리에서 반환할 컬럼들을 지정항다.
    • YEAR(YM) AS YEAR:
      • YM(아마도 날짜나 연월 데이터)에서 연도를 추출하여 YEAR라는 별칭으로 반환한다.
    • ROUND(AVG(PM_VAL1), 2) AS PM10:
      • PM_VAL1(미세먼지 PM10 농도)의 평균을 구한 뒤 소수점 둘째 자리까지 반올림하여 반환한다.
    • ROUND(AVG(PM_VAL2), 2) AS 'PM2.5':
      • PM_VAL2(초미세먼지 PM2.5 농도)의 평균을 구한 뒤 소수점 둘째 자리까지 반올림하여 반환한다.
  2. FROM AIR_POLLUTION:
    • 데이터를 가져올 테이블로 AIR_POLLUTION을 지정한다.
  3. WHERE LOCATION2 = '수원':
    • LOCATION2 컬럼이 '수원'인 데이터만 필터링한다.
  4. GROUP BY YEAR:
    • YEAR(YM) 값에 따라 데이터를 그룹화합니다.
    • 즉, 동일한 연도의 데이터끼리 묶어서 각 그룹에 대해 평균 값을 계산한다.
  5. ORDER BY YEAR:
    • 결과를 YEAR(연도) 기준으로 오름차순 정렬한다.

 

 

느낀점

  • 조건을 실수 하지 않도록 세심하게 풀자