ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

LeetCode-数据库197(lead( )函数)

2022-04-30 22:34:02  阅读:192  来源: 互联网

标签:temperature lead 197 LeetCode Weather offset recordDate id


197题干

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

返回结果 不要求顺序 。

SQL架构

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 Weather (id, recordDate, temperature) values ('4', '2015-01-04', '30')

示例

 

 

 


题解

select Id
from 
(
    select 
        temperature,
        recordDate,
        lead(id,1) over (order by recordDate) as 'Id',
        lead(recordDate,1) over (order by recordDate) as 'nextDate',
        lead(temperature,1) over (order by recordDate) as 'nextTemp'
    from weather 
)t 
where nextTemp > temperature and DATEDIFF(nextDate, recordDate) = 1

 

窗口函数lead( )

# lead()语法
LEAD(<expression>[,offset[, default_value]]) OVER (
    PARTITION BY (expr)
    ORDER BY (expr)
)

offset 是从当前行向前行的行数,以获取值。offset 必须是一个非负整数。如果offset 为零,则 LEAD() 函数计算 expression当前行的值。如果省略 offset,则 LEAD() 函数默认使用一个。如果没有后续行,则 LEAD() 函数返回 default_value 。

例如,如果 offset 是1,则最后一行的返回值为 default_value 。如果您未指定 default_value,则函数返回 NULL

partition by <分组的名字>

order by <用于排序的列名>

 

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/delete-duplicate-emails
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

标签:temperature,lead,197,LeetCode,Weather,offset,recordDate,id
来源: https://www.cnblogs.com/fancy2022/p/16211625.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有