题目:
Given a Weather
table, write a SQL query to find all dates' Ids with higher temperature compared to its 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 | +----+
# Write your MySQL query statement below
#查找给定日期前一天的日期,且温度比前一天高的ID
#两种方法:1、使用DATEDIFF(date1,date2)返回两个日期之间的间隔 。2、使用ADDDATE(date,n):该函数计算日期参数date加上n天后的日期
# 使用SUBDATE(date,n):该函数计算日期参数date减去n天后的日期
#方式1
select w1.Id
from Weather w1,Weather w2
where DATEDIFF(w1.date,w2.date)=1 and w1.Temperature > w2.Temperature;
#方式2
# select w1.Id
# from Weather w1,Weather w2
# where SUBDATE(w1.Date,1)=w2.Date and w1.Temperature>w2.Temperature;