首页 > 数据库技术 > 详细

SQL -4

时间:2021-06-14 23:21:50      阅读:34      评论:0      收藏:0      [点我收藏+]

7.上升的温度

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

结果展示:

Id
2
4

建表语句:

Create table If Not Exists Weather (Id int, RecordDate date, Temperature int);
Truncate table Weather;
insert into Weather (Id, RecordDate, Temperature) values (1, ‘2015-01-01‘, 10);
insert into Weather (Id, RecordDate, Temperature) values (2, ‘2015-01-02‘, 25);
insert into Weather (Id, RecordDate, Temperature) values (3, ‘2015-01-03‘, 20);
insert into 1Weather (Id, RecordDate, Temperature) values (4, ‘2015-01-04‘, 30);

方法1:

select 
	w.id as id,
from 
	Weather w1
join 
	Weather w2
on 
	datadiff(w1.RecordDate,w2.RecordDate) = 1
and w1.Temperature > w2.Temperature;

方法2:

select 
	id 
from 
	(select
    	id,
   		RecordDate,
    	Temperature,
    	lag(RecordDate,1,9999-99-99) over(order by RecordDate) yd,
    	lag(Temperature,1,999) over(order by RecordDate) yt
     from 
     	Weather
    ) tmp
where Temperature > yt and datediff(RecordDatam,yd) = 1;

SQL -4

原文:https://www.cnblogs.com/yuexiuping/p/14883447.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!