按天对时间戳列进行分组,并添加一列包含当天的第一列和一列包含当天的最后一个值

问题描述 投票:0回答:0

我有一个这样的时间戳表:

t_stamp
2023-04-28 20:20:28.497
2023-04-28 20:00:27.940
2023-04-27 19:37:27.413
2023-04-27 16:55:26.817
2023-04-26 15:16:26.273
2023-04-26 12:04:25.753

到目前为止我试过:

SELECT distinct [t_stamp] as Date
,max([t_stamp]) - min([t_stamp]) as DeltaTime
,max([t_stamp]) as First_Tstamp
,min([t_stamp]) as Last_Tstamp
  FROM [testdb]
  group by t_stamp

尝试获取包含日期、第一个和最后一个时间戳之间的增量时间以及相应时间的输出。 像这样:

日期 三角洲时间 First_Tstamp Last_Tstamp
2023-04-28 00:20:28 2023-04-28 20:00:27 2023-04-28 20:20:28
2023-04-27 02:17:59 2023-04-27 16:55:26.817 2023-04-27 19:37:27
2023-04-26 03:11:01 2023-04-26 12:04:25.753 2023-04-26 15:16:26

但是减去或使用 max() 和 min() 总是以相同的值结束,因此,我的 Delta 总是 0:

日期 三角洲时间 First_Tstamp Last_Tstamp
2023-04-28 00:00:00 2023-04-28 20:20:28 2023-04-28 20:20:28
2023-04-27 00:00:00 2023-04-27 19:37:27 2023-04-27 19:37:27
2023-04-26 00:00:00 2023-04-26 15:16:26 2023-04-26 15:16:26
sql sql-server sql-server-express sql-server-2016-express
© www.soinside.com 2019 - 2024. All rights reserved.