197. Rising Temperature
阿新 • • 發佈:2019-02-13
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 |
+----+
where查詢
select Id from Weather as w1 where w1.Temperature > (select Temperature from Weather where Date = (select date_sub(w1.Date, interval 1 day)))
百度的其他答案
1.
select w1.Id from Weather w1, Weather w2
where TO_DAYS(w1.Date)=TO_DAYS(w2.Date)+1 and w1.Temperature>w2.Temperature;
2.
select w1.Id from Weather w1 inner join Weather w2
on TO_DAYS(w1.Date)=TO_DAYS(w2.Date)+1 and w1.Temperature>w2.Temperature;