SQL/리트코드 문제풀이

[LeetCode] 197. Rising Temperature

너지살 2024. 5. 15. 13:45

 

 

 

문제 출저

https://leetcode.com/problems/rising-temperature/?envType=study-plan-v2&envId=top-sql-50

 

 

 

 

문제 풀이

어제랑 비교해서 온도가 더 높은 id를 출력하는 문제입니다. 

한 테이블에서 오늘과 어제를 비교해야 하므로 내부 조인을 수행합니다. 저는 오늘 날짜 today, 어제 날짜는 yesterday 라는 이름으로 테이블을 설정했습니다. 

조인 조걸은 날짜 차이를 1로 설정하여 오늘과 어제를 비교합니다.

where 절을 통해 today의 recordDate가 yesterday의 recordDate 보다 크다는 조건을 넣어 today가 항상 앞서도록 했습니다. 

 

 

 

SQL

# 어제랑 비교해서 온도가 더 높은 id룰 출력해야 합니다. 

select 
    today.id
from
    Weather as today
join
    Weather as yesterday on date_add(yesterday.recordDate, interval 1 day) = today.recordDate
where
    today.temperature > yesterday.temperature;


/*
SELECT today.id id
  FROM Weather today
  JOIN Weather yesterday
    ON DATEDIFF(today.recordDATE, yesterday.recordDATE) = 1
   AND today.temperature > yesterday.temperature
 ;

*/