【发布时间】:2016-03-16 08:05:07
【问题描述】:
Status Date Time
1 2016-03-16 8:00:00
0 2016-03-16 12:00:00
1 2016-03-16 16:00:00
0 2016-03-16 20:00:00
1 2016-03-16 23:55:00
0 2016-03-17 01:16:00
1 2016-03-17 02:20:00
0 2016-03-17 04:00:00
1 2016-03-17 08:00:00
0 2016-03-17 12:00:00
1 2016-03-17 04:00:00
0 2016-03-17 06:00:00
我有上面提到的表格。我想做的就是计算状态变化的时间之间的差异 例如,在前两列中,它应该返回 4 小时的时间差异 然后我不想计算第 2 列和第 3 列之间的差异我想计算第 3 列和第 4 列之间的差异等等...... 时差应采用时间格式,例如 4 小时或 58 分钟 总体而言,当状态从 1 变为 0 时,我将计算差异 请帮忙。
【问题讨论】:
-
你确定总是有一个交替的行吗?不会丢失任何行(由于某种错误)?
-
SQL Server 还是 Access?它们非常不同。在 SQL Server 中,您可以使用 LAG 函数
-
在 sql server 中相当简单,在 2012 或更高版本中更容易。在过去的 6-7 年里我没有使用 ms-access,所以我对此一无所知。
-
另外,您有 2 行冲突,其中一个状态为 0,另一个状态为 1,时间为 2016 年 3 月 17 日 04:00:00。
-
根据this comment编辑标签