Как вычесть первое значение таблицы из последнего значения в SQL
У меня есть этот стол :
TBL_ENERGII ID | DateTime | [CM1-Ea] 16431 | 2020-09-22 06:00:00.000 | 2627123.9 16432 | 2020-09-22 14:00:00.000 | 2627900.0 16433 | 2020-09-22 22:00:00.000 | 2628547.0 16434 | 2020-09-23 06:00:00.000 | 2629204.0 16435 | 2020-09-23 14:00:00.000 | 2629899.9 16436 | 2020-09-23 22:00:00.000 | 2630600.5
Я хочу вычесть первое значение таблицы из последнего значения таблицы. Да это не все данные, которые есть в этой таблице. Значения находятся от @DataStart до @DataStop.
Что я уже пробовал:
Я пытался :
SELECT (p2.[CM1-Ea]-p1.[CM1-Ea]) AS Diff FROM [DBScadaCloudPrutulLogger].[dbo].[TBL_ENERGII] p1, [DBScadaCloudPrutulLogger].[dbo].[TBL_ENERGII] p2 WHERE p1.DateTime IN (SELECT TOP 1 p.DateTime FROM [DBScadaCloudPrutulLogger].[dbo].[TBL_ENERGII] p WHERE p.DateTime BETWEEN @DataStart AND @DataStop ) AND p2.DateTime = (SELECT TOP 1 p.DateTime FROM [DBScadaCloudPrutulLogger].[dbo].[TBL_ENERGII] p ORDER BY p.DateTime DESC)