LeetCode Database 197 上升的温度

1. 题目描述

给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。

1
2
3
4
5
6
7
8
+---------+------------------+------------------+
| 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:

1
2
3
4
5
6
+----+
| Id |
+----+
| 2 |
| 4 |
+----+

2. 题解

2.1. MySQL 上升的温度

DATEDIFF(date1, date2) 返回date1-date2的日期天数差

1
2
3
4
5
SELECT DISTINCT(tb1.Id) 
FROM Weather tb1
JOIN Weather tb2
ON DATEDIFF(tb1.RecordDate, tb2.RecordDate) = 1
AND tb1.Temperature > tb2.Temperature
panchaoxin wechat
关注我的公众号
支持一下