LeetCode-197. 上升的温度

给定一个 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 |
±—+

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rising-temperature

解题思路:

  1. 题目有说"昨天比今天",所以需要自连接,(不等值连接)连接条件为表1的温度>表2的温度
  2. "昨天比今天"涉及到日期差函数DateDiff(date1,date2),所以过滤条件为:DateDiff(今天,昨天)=1
select W1.Id FROM Weather W1 JOIN Weather W2
ON   W1.Temperature> W2.Temperature 
WHERE  dateDiff(W1.RecordDate,W2.RecordDate)=1

你可能感兴趣的:(leetcode)