Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
行间SQL差异_Sql_Ms Access - Fatal编程技术网

行间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,这会让他们最初选择的标签更加混乱。这感觉像是一个评论,而不是一个答案。不,他已经带来了这样的数据。