我有一个包含nazwa,wartosc,czas的进程数据的表。该表的数据看起来像this计算两个记录之间差异(时间)的总和 - mssql
现在我写查询:
;WITH [cteRows] AS
(
SELECT [nazwa],
[wartosc],
[czas],
ROW_NUMBER() OVER (ORDER BY [czas]) AS [RowNumber]
FROM [test].[dbo].[coldbox7]
WHERE [nazwa] = 'coldbox7/WymianaDanychDB/Hydraulic'
AND [czas] >= '2016-07-14 22:00:00.000'
AND [czas] <= '2016-07-14 22:30:00.000'
)
SELECT mc.[RowNumber],
mc.[czas],
mc.[nazwa],
mc.[wartosc],
DATEDIFF(SECOND, mc.[czas], ISNULL(mp.[czas], mc.[czas])) AS [Wsekundach]
FROM [cteRows] mc
LEFT JOIN [cteRows] mp
ON mc.[RowNumber] = mp.[RowNumber] + 1
WHERE mc.[wartosc] = 0
和输出look like:
我有一个问题: 我怎样才能使[Wsekundach],而不是本次输出一行总和?
由于其他列在所有行中都有不同的数据:如果结果减少为单行,您希望在那里显示哪些信息? – Shnugo
我会有关于所有时差的信息。 [Wsekundach] –
这不仅仅是第一行和最后一行之间的区别吗? –