nazwa、wartosc、czasを含むプロセスデータを持つテーブルがあります。2レコード間の差(時間)の計算 - 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]の1点の行の合計を作ることができるのテーブルデータは、今私は、クエリを書いたthis
のようなものを見て?
他の列はすべての行でさまざまなデータを持っています:結果が1行に減らされた場合は、どの情報をそこに表示しますか? – Shnugo
私はすべての時差についての情報を持っています。 [Wsekundach] –
最初の行と最後の行の違いだけではありませんか? –