Kimuksung
Kimuksung 안녕하세요. 분산처리에 관심이 많은 생각하는 주니어 Data Enginner입니다.

leet code sql 197

197. Rising Temperature


문제

  • 날씨가 오르는 날의 id를 출력
  • 전날의 날씨와 비교해야 한다.
문제 접근

  • date_add를 통하여 전날을 비교
  • product join을 통하여 전날 비교
  • 조건절을 on에 두는 경우와 where절에 두는 경우 무엇이 빠를까?
  • 일반적으로 on에 두는 경우가 필터링을 하기 때문에 속도가 더 빠르다.
1
2
3
4
5
select
    d1.id
from Weather d1, Weather d2
where date_add(d1.recordDate, interval -1 day) = d2.recordDate
    and d1.temperature > d2.temperature
1
2
3
4
5
6
select 
    w1.id
from Weather w1
join Weather w2
    on subdate(w1.recordDate, interval 1 day) = w2.recordDate
        and w1.temperature > w2.temperature