Leetcode: Rising Temperature

Question

Given a Weather table, write a SQL query to find all dates’ Ids with higher temperature compared to its previous (yesterday’s) dates.

+———+————+——————+
| Id(INT) | Date(DATE) | Temperature(INT) |
+———+————+——————+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+———+————+——————+
For example, return the following Ids for the above Weather table:
+—-+
| Id |
+—-+
| 2 |
| 4 |
+—-+


Solution

# Write your MySQL query statement below
select w1.Id
from Weather w1, Weather w2
where TO_DAYS(w1.Date) = (TO_DAYS(w2.Date)+1) and w1.Temperature>w2.Temperature

Take-home Message

  1. TO_DAYS() Function

The following example comes from here

Example :

The following statement will return the number of days from year 0 to 2009-05-18.

view plaincopy to clipboardprint?
SELECT TO_DAYS(‘2009-05-18’);
Output

mysql> SELECT TO_DAYS(‘2009-05-18’);
+———————–+
| TO_DAYS(‘2009-05-18’) |
+———————–+
| 733910 |
+———————–+
1 row in set (0.03 sec)


你可能感兴趣的:(leetcode)