SQL每日一题(2020-05-21)
2020-06-02 本文已影响0人
扎西的德勒
题目:
给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。
例如,根据上述给定的 Weather 表格,返回如下 Id:
参考答案:
数据库版本:Server version: 8.0.20 MySQL Community Server - GPL
建表语句
create table dailytest_20200521
(
id int,
redate date,
temp int
);
数据准备
insert into dailytest_20200521 values (1,'2015-01-01',10);
insert into dailytest_20200521 values (2,'2015-01-02',25);
insert into dailytest_20200521 values (3,'2015-01-03',20);
insert into dailytest_20200521 values (4,'2015-01-04',30);
查询逻辑
select
id
from (
select
id,
redate,
temp,
lag(temp, 1) over () as retemp
from dailytest_20200521) A
where A.retemp < A.temp;