行间SQL差异
我有一张有以下结构的桌子行间SQL差异,sql,ms-access,Sql,Ms Access,我有一张有以下结构的桌子 ID newSatus modifiedDate 252123_001 Closed 2020-10-07 20:14:57.477 252123_001 Shipped 2020-10-07 09:24:12.693 252309_001 Closed
ID newSatus modifiedDate
252123_001 Closed 2020-10-07 20:14:57.477
252123_001 Shipped 2020-10-07 09:24:12.693
252309_001 Closed 2020-10-08 18:51:34.810
252309_001 Shipped 2020-10-07 09:22:33.537
252404_001 Closed 2020-10-07 12:25:10.270
252404_001 Shipped 2020-10-07 09:29:02.363
基本上,我想做的是有一个access查询,它可以计算不同newStatus之间但相同ID的连续记录的日期差。
预期的结果是
ID diffHours diffMinutes diffSeconds
252123_001 10h:50m:45s 650 39045
252309_001 1 day 9h:29m:01s 2009 120541
252404_001 2h:56m:08s 176 10568
最后计算这些结果之间的时间中位数。您是否可以尝试取消数据分组,以便为状态
已关闭
和已发货
单独设置一列?您可以使用简单的减法来获得时间差,并从中计算您提到的所有内容。您希望聚合行,以便每个ID获得一个结果行。在SQL中,“每个ID”转换为按ID分组
select
id,
datediff ("h", min(modifieddate), max(modifieddate)) as diff_hours,
datediff ("n", min(modifieddate), max(modifieddate)) as diff_minuts,
datediff ("s", min(modifieddate), max(modifieddate)) as diff_seconds
from mytable
group by id
order by id;
我必须承认,我不知道如何在MS Access中从中获取中间值,因为这是我所知道的距离SQL标准最远的RDBMS。SSMS与MySQL不兼容;你为什么把这两个都贴上标签?你怎么知道这是,戈登林诺夫?我是否遗漏了一些明显的东西?我是否正确地看到了这一点,总是有两行具有相同的ID,您想从较大的时间中减去较小的时间?@Larnu,我怀疑@GordonLinoff标记了ms access
,因为问题中的“…有一个访问查询…”部分。为什么我想知道我是否遗漏了一些明显的东西,@Sander。如果OP真的在使用Access,这会让他们最初选择的标签更加混乱。这感觉像是一个评论,而不是一个答案。不,他已经带来了这样的数据。