1. 程式人生 > >Rising Temperature:查詢比前一天氣溫高的天氣ID

Rising Temperature:查詢比前一天氣溫高的天氣ID

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 |
+----+
SQL Schema: Create table If Not Exists Weather (Id intDate date, Temperature int) Truncate table Weather insert into Weather (IdDate, Temperature) values ('1''2015-01-01''10') insert
 into Weather (IdDate, Temperature) values ('2''2015-01-02''25') insert into Weather (IdDate, Temperature) values ('3''2015-01-03''20') insert into Weather (IdDate, Temperature) values ('4''2015-01-04''30')

思路:SELECT Weather.Id as 'Id' FROM Weather JOIN Weather w ON DATEDIFF(Weather.Date,w.Date) = 1 AND Weather.Temperature > w.Temperature