문제 출저
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
;
*/