本文主要是介绍[LeetCode] 197. 上升的温度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 |
- +———+——————+——————+
预期结果如下:
- +----+
- | Id |
- +----+
- | 2 |
- | 4 |
- +----+
解法一:先用 to_days()函数,确定昨天,然后再比较温度的高低
- select w1.Id
- from weather as w1,weather as w2
- where w1.Temperature > w2.Temperature and to_days(w1.RecordDate)-to_days(w2.RecordDate)=1;
函数 to_days( ) :返回从0000年(公元1年)至 当前日期(所给参数)的总天数
737218 即0000年至2018-06-08的天数
解法二:先用datediff() 函数,确定昨天,再比较温度
- select w1.Id
- from weather as w1,weather as w2
- where w1.Temperature > w2.Temperature and datediff(w1.RecordDate,w2.RecordDate)=1;
函数datediff( ) : 返回两个日期之间的天数
原文:【LeetCode–数据库】上升的温度
这篇关于[LeetCode] 197. 上升的温度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!