Leetcode SQL[197] Rising-temperature

Leetcode SQL[197] Rising-temperature

  • Leetcode SQL[197] Rising-temperature
  • 思路
  • 代码
  • 收获

Leetcode SQL[197] Rising-temperature

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

思路

不知怎么魔怔了,总想用子查询。看完他人解答才发现 用where 和 and 连接两个条件即可。
其中 datadiff() 函数 在MySQL中 参数为日期 结果为前者时间减去后者时间。

还学到了单张表内部做比较时用from weather a, weather b 使之成为两张表。(对这道题的理解,今后上课时多注意这个点对不对。。)

代码

select a.id from weather a,weather b
where datediff(a.recordDate,b.recordDate) = 1
-- a-b = 1 day
and a.temperature > b.temperature

收获

加强练习,还要多练习Python和R。

你可能感兴趣的:(datawhale)