gpt4 book ai didi

mysql - 如何根据特定列从我想要的行和 "next"行获取属性?

转载 作者:行者123 更新时间:2023-11-29 08:23:39 24 4
gpt4 key购买 nike

我有一个这样的表:

startyearmonthday| id
20130901 | 1
20131004 | 2
20130920 | 3
20131105 | 4
20131009 | 5

我想编写一个查询,可以返回这样的表:

startyearmonthday| id  | endyearmonthday
20130901 | 1 | 20130920
20130920 | 3 | 20131004
20131004 | 2 | 20131009
20131009 | 5 | 20131105
20131105 | 4 | null

所以我希望结束日期基于当前开始日期之后的下一个最早开始日期。我想其中涉及某种连接,但我无法弄清楚......

最佳答案

我倾向于使用相关子查询来做到这一点:

select t.*,
(select startyearmonthday
from t t2
where t2.startyearmonthday > t.startyearmonthday
order by t2.startyearmonthday
limit 1
) as endyearmonthday
from t;

与您之前的问题一样,通过 t(startyearmonthday) 上的索引,这将运行得非常快。

关于mysql - 如何根据特定列从我想要的行和 "next"行获取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562690/

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