【发布时间】:2021-02-05 07:32:10
【问题描述】:
我需要在不使用 CTE 或临时表的情况下计算 Prevdate,如下所示。我尝试使用仅适用于上面一行的铅。此外,每组的记录数可能会有所不同。有人可以在这里提出解决方案吗?
以下是示例数据:
create table #Sampledata
(
id int
,groupno int
,Date date
)
insert into #Sampledata values (
1,1,'1/2/2020'),
(2,2,'1/13/2020'),
(3,2,'1/13/2020'),
(4,2,'1/13/2020'),
(5,3,'1/24/2020')
下面是预期的输出:
【问题讨论】:
-
将问题本身中的任何数据和查询发布为文本。图像无法复制和执行。我们也猜不出你想要什么样的分组。发布示例数据、所需的输出以及您尝试过的内容。
-
您发布的是图片,而不是数据。图片不能复制和查询。不要强迫人们为了测试而输入所有内容,浪费时间输入而不是尝试不同的查询。
-
您如何尝试计算 PrevDate 字段?您想要第 # n-1 组的最后一个日期吗?这至少是我能从那张图片中推断出的最好的结果。
-
对不起。这是示例表。创建表 #Sampledata ( id int ,groupno int ,Date date ) 插入 #Sampledata 值 (1,1,'1/2/2020'), (2,2,'1/13/2020'), (3, 2,'1/13/2020'), (4,2,'1/13/2020'), (5,3,'1/24/2020')
-
在我看来更像是 nextdate。 1 月 13 日到 1 月 2 日是怎么算的?
标签: sql sql-server msbi