gpt4 book ai didi

sql - 按 ID 选择最近增加值列

转载 作者:行者123 更新时间:2023-12-04 20:56:39 27 4
gpt4 key购买 nike

我正在尝试一个简单的子集,但在同时应用我的两个条件时遇到了一些麻烦。我希望为每个唯一 ID 选择值列增加的最新记录。例如,这是我的数据的简化版本。

ID| Date | Value
A 1/1/17 100
A 1/2/17 185
A 1/3/17 40
A 1/4/17 100
A 1/5/17 30
B 1/3/17 40
B 1/4/17 30
B 1/5/17 65
B 1/6/17 80
B 1/7/17 0
B 1/8/17 0

虽然我想要的输出是每个 ID 最后一次增加值的行

ID| Date | Value
A 1/4/17 100
A 1/6/17 80

有没有人知道我如何才能达到我想要的输出?谢谢。

最佳答案

你可以试试这个。

select id,dt,value 
from (select t1.*
,max(case when t2.value<t1.value then t1.dt end) over(partition by t1.id) as max_dt
from (select t.*,min(dt) over(partition by id order by dt rows between 1 preceding and 1 preceding) as prev_dt
from t
) t1
join t t2 on t1.prev_dt=t2.dt and t1.id=t2.id
) t
where max_dt=dt

关于sql - 按 ID 选择最近增加值列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com