1.题目解读
原题目:给定一个 Weather
表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。
1.1题目问题核心
此题与实际时间无关,实际是比较相邻两天(昨天与今天)取今天温度较高的所有日期的Id
1.2解题思路
- 要求查询返回主键Id
- 限制条件:条件1:今天与昨天相比;条件2:今天温度>昨天温度 。
- 涉及sql:日期运算 昨天=今天-1day
1.3问题答案
解法一:
select w2.Id as Id from Weather w1 join Weather w2 on w1.RecordDate=DATE_SUB(w2.RecordDate,INTERVAL 1 DAY) and w1.Temperature<w2.Temperature;
解法二:
select w1.Id
from Weather as w1,Weather as w2
where w1.Temperature > w2.Temperature and datediff(w1.RecordDate,w2.RecordDate)=1;
2.mysql日期函数
https://blog.csdn.net/qinshijangshan/article/details/72874667