LeetCode-数据库197(lead( )函数)
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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现