我有开始和结束日期如下表:使用DATEDIFF()结果在DSum()函数
dataid TS EndTS
1744 7/27/17 1:57:34 PM 7/27/2017 1:57:38 PM
1743 7/27/17 1:57:31 PM 7/27/2017 1:57:34 PM
1742 7/27/17 1:57:23 PM 7/27/2017 1:57:31 PM
1741 7/27/17 1:57:16 PM 7/27/2017 1:57:23 PM
1740 7/27/17 1:57:04 PM 7/27/2017 1:57:16 PM
1739 7/27/17 1:56:57 PM 7/27/2017 1:57:04 PM
1738 7/27/17 1:56:38 PM 7/27/2017 1:56:57 PM
我想获得的日期/时间间隔(以秒为单位),然后计算运行总。
这是我到目前为止有:
SELECT
[dataid] AS [dataid]
DateDiff("s", [TS],[EndTS]) AS [durationsec]
DSum("[durationsec]","[HX32]","[dataid] <=" & [dataid]) AS [add]
FROM [HX32];
我认为DATEDIFF()funtion可能是导致格式问题。随着"[durationsec]"
我得到的所有空的结果,[durationsec]
我得到如下结果:
durationsec add
4 6896
3 5169
8 13776
7 12047
12 20640
7 12033
19 32642
我也试过cint(DateDiff("s", [TS],[EndTS]))
没有变化。 我也试着将durationsec传递给一个表并运行一个单独的查询。不用找了。 (此外,我宁愿做这一切在一个查询)
下面是结果我想实现:
dataid TS EndTS durationsec add
1744 7/27/17 1:57:34 PM 7/27/2017 1:57:38 PM 4 60
1743 7/27/17 1:57:31 PM 7/27/2017 1:57:34 PM 3 56
1742 7/27/17 1:57:23 PM 7/27/2017 1:57:31 PM 8 53
1741 7/27/17 1:57:16 PM 7/27/2017 1:57:23 PM 7 45
1740 7/27/17 1:57:04 PM 7/27/2017 1:57:16 PM 12 38
1739 7/27/17 1:56:57 PM 7/27/2017 1:57:04 PM 7 26
1738 7/27/17 1:56:38 PM 7/27/2017 1:56:57 PM 19 19
谢谢,我是一个初学者。
我通过计算DATEDIFF运行后DSUM在另一个查询解决。看来你不能在同一个查询中将生成的值datediff值传递给dsum,或者在dsum函数内部有一个datefiff函数。 –
我刚刚测试过,它可以在嵌套在DSum中的DateDiff中工作。编辑我的答案以显示完整的SQL。 – June7