gpt4 book ai didi

sql - 间歇时间序列。返回 T-SQL 中最新数据的最后一个连续 block 的第一个日期

转载 作者:行者123 更新时间:2023-12-03 06:24:01 25 4
gpt4 key购买 nike

10/03/2011 11/03/2011 12/03/2011 13/03/2011 14/03/2011  15/03/2011  QUERYRESULTa             a          a                      a            a       14/03/2011                                    b           b            b       13/03/2011c                        c          c           c                    12/03/2011

因此,对于最近的连续日期 block ,返回该特定 block 中的最早日期,如“queryresult”列中所示。

我现在意识到我无意中调换了我给出的示例中的数据对于源,可以假设架构为:[ID] 1,2,3,...; [类型] a、b、c..; [日期]

我可以看到一些带有递归 CTE/窗口/排名函数的东西,但无法完全弄清楚。

最佳答案

比我想象的更容易,并且不需要 CTE 或窗口/排名函数:

假设数据是

ID  mydate  pfo1   12/03/2011  a4   13/03/2011  a6   14/03/2011  a10  16/03/2011  a2   12/03/2011  b5   13/03/2011  b8   15/03/2011  b3   12/03/2011  c7   14/03/2011  c9   15/03/2011  c11  16/03/2011  c

然后

SELECT     MAX( n.mydate)   ,n.pfo FROM testtable n LEFT OUTER JOIN testtable n2 ON  n.pfo                  = n2.pfo               AND DATEADD(D,-1,n.mydate) = n2.mydate WHERE n2.mydate IS NULL GROUP BY n.pfo

关于sql - 间歇时间序列。返回 T-SQL 中最新数据的最后一个连续 block 的第一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5337034/

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