小屋創作

日誌2024-10-31 23:28

【Leetcode】197. Rising Temperature

作者:Chris

Leetcode題目網址:197. Rising Temperature
難度:Easy
Weather表格屬性
Column Name Type
id int
recordDate date
temperature int

id is the column with unique values for this table.
There are no different rows with the same recordDate.
This table contains information about the temperature on a certain day.

原文:
Write a solution to find all dates' id with higher temperatures compared to its previous dates (yesterday).

Return the result table in any order.

The result format is in the following example.

個人翻譯(非逐字翻譯):
編寫一個解決方案,尋找與之前的日期(昨天),相比之下溫度更高的日期,
以不排序的方式回傳結果。

輸入:
Weather
id recordDate temperature
1 2015-01-01 10
2 2015-01-02 25
3 2015-01-03 20
4 2015-01-04 30








輸出:
id
2
4




註釋:
In 2015-01-02, the temperature was higher than the previous day (10 -> 25).
In 2015-01-04, the temperature was higher than the previous day (20 -> 30).

個人理解
前面遇到的Join語法都是兩個表格合一,這個看來是做交叉連接,有些解答甚至連join語法不會用到。但基於理解、練習join語法的情況下,目前選擇使用下列方式。

而本次習題先整合表格的資料,讓系統列出後再用datediff()來處理兩個時間的間隔、後一天比前一天溫度高的狀態來輸出成結果。
程式碼
select w2.id
from Weather w1
join Weather w2
on datediff(w2.recordDate, w1.recordDate) = 1 and w2.temperature > w1.temperature;
select today.id
from Weather yesterday
cross join Weather today
where datediff(today.recordDate,yesterday.recordDate)=1
  and today.temperature>yesterday.temperature;

1

0

LINE 分享

相關創作

【Leetcode】1581. Customer Who Visited but Did Not Make Any Transactions

【Leetcode】176. Second Highest Salary

【Leetcode】184. Department Highest Salary

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】