SQL每日一题(2020-05-21)

2020-06-02  本文已影响0人  扎西的德勒

题目:

给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。

image

例如,根据上述给定的 Weather 表格,返回如下 Id:

image

参考答案:

数据库版本: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;

附:
题目来源:https://mp.weixin.qq.com/s/TTKFJboyDzdDhSva1C9GyA

上一篇 下一篇

猜你喜欢

热点阅读