Given a Weather table,write a SQL query to find all dates' Ids with higher temperature compared toits previous (yesterday's) dates.
+---------+------------+------------------+
| Id(INT) | Date(DATE) | Temperature(INT) |
+---------+------------+------------------+
| 1 | 2015-01-01 | 10|
| 2 | 2015-01-02 | 25|
| 3 | 2015-01-03 | 20|
| 4 | 2015-01-04 | 30|
+---------+------------+------------------+
For example, return the following Ids for the above Weather table:
+----+
| Id |
+----+
| 2|
| 4|
+----+
SELECT a.Id
FROM Weather a, Weather b
WHERE TO_DAYS(a.Date)-1=TO_DAYS(b.Date) AND a.Temperature>b.Temperature;
*TO_DAYS函数
给定一个日期date,返回一个天数(从年份0开始的天数)
TO_DAYS() 不用于阳历出现(1582)前的值,原因是当日历改变时,遗失的日期不会被考虑在内。
MySQL“日期和时间类型”中的规则将日期中的二位数年份值转化为四位。例如,‘2010-08-07′和 ‘10-08-07′ 被视为同样的日期: