1. 程式人生 > >LeetCode | Database| Rising Temperature

LeetCode | Database| Rising Temperature

  • 題目描述:

給出下面一個weather表,寫mysql查詢找出所有相比於前一天溫度高的ID
這裡寫圖片描述
可以得出下圖結果:
這裡寫圖片描述

  • 題目解答:
    分析: 在這裡,需運用DATEDIFF() 函式返回兩個日期之間的天數:
    DATEDIFF(date1,date2)
    date1 和 date2 引數是合法的日期或日期/時間表達式。
    註釋:只有值的日期部分參與計算。
    例如:SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
    結果為:DiffDate 1
    解答:
    方法一:
SELECT weather.id AS id
FROM weather JOIN
weather w ON DATEDIFF(weather.date, w.date) = 1 AND weather.Temperature > w.Temperature

方法二:

select a.Id
from Weather a, Weather b
where a.Temperature > b.Temperature
and DATEDIFF(a.Date, b.Date) = 1