[solvesql] 다음날도 서울숲의 미세먼지 농도는 나쁨

Tae Yoon·2025년 12월 22일

문제

서울숲 일별 평균 대기오염도 데이터베이스는 2022년 서울숲 대기오염도 측정소에서 매일 기록한 대기오염 정보를 담고 있습니다.

measurements 테이블의 pm10 컬럼에는 다양한 대기오염도 측정 기준 중에서도 미세먼지(PM10) 농도가 기록되어 있습니다. 이 데이터를 이용하여 당일의 미세먼지 농도보다 바로 다음날의 미세먼지 농도가 더 안좋은 날을 찾아주세요. 결과는 아래 컬럼들을 포함해야 합니다.

  • today: 당일 (YYYY-MM-DD)
  • next_day: 다음날 (YYYY-MM-DD)
  • pm10: 당일의 미세먼지 농도
  • next_pm10: 다음날의 미세먼지 농도

풀이

WITH t AS
  (SELECT measured_at today,
          lead(measured_at) over(order by measured_at) next_day,
          pm10,
          lead(pm10) over(order by measured_at) next_pm10
  FROM measurements
  )

SELECT *
FROM t
WHERE next_pm10 > pm10;

이번에 SQL감을 다시 찾으려 solvesql 풀었던 문제를 다시 풀어 보고 있다.
사실 문제를 봤을때 원래는 머릿속에서 풀이가 정리되었지만,
지금은 바로 떠오르지는 않았다.

그래도 조금 생각해봤을때, 윈도우 함수의 lead를 생각나서 적용했다.
문제를 잘못봐서 WHERE 구문을 반대로 작성해서 2번 정도 틀렸다ㅜㅜ
그래도 일주일 정도 1문제씩 풀면 원래 실력은 다시 나올것 같다.

0개의 댓글