题目
给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。
+---------+------------------+------------------+
| Id(INT) | RecordDate(DATE) | Temperature(INT) |
+---------+------------------+------------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+---------+------------------+------------------+
例如,根据上述给定的 Weather 表格,返回如下 Id:
+----+
| Id |
+----+
| 2 |
| 4 |
+----+
代码模板:
# Write your MySQL query statement below
分析
用INNER JOIN来筛选,条件是温度比之前的高,并且两天相差一天。
解答
# Write your MySQL query statement below
select w1.Id from Weather w1
Inner JOIN Weather w2 on
w1.Temperature > w2.Temperature
and DATEDIFF(w1.RecordDate, w2.RecordDate) = 1;