Suma całej kolumny - mssql

Odpowiedz Nowy wątek
2016-07-15 12:30
Grzegorz07
0

Mam następującą tablę nazwa, wartosc, czas. Wygląda tak:
user image

Oto napisany kod:

;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 

Oto jaki mam wynik:
user image

Jak mogę zrobić sumę wartości kolumny [Wsekundach] aby zamiast kilku wierszy mieć tylko jeden z sumą?

Pozostało 580 znaków

2016-07-15 13:05
0

Druga część zamiast

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 

daj

SELECT  Sum(
        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 

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0