sql >> Databáze >  >> RDS >> Sqlserver

Průběžné součty v zobrazení SQL

Použil jsem ROW_NUMBER A CTE protože jste v roce 2008

WITH transactionTotal AS
(
   SELECT t.Created, t.Description, t.Credit, t.Debit, t.TransDate, t.TransactionID, a.AccountID
      , ROW_NUMBER() OVER (ORDER BY TransDate ASC) AS RowNumber
      , ( ISNULL(t.Credit, 0) - ISNULL(t.Debit, 0) ) AS TransactionTotal
   FROM dbo.Transactions AS t 
   INNER JOIN dbo.BankAccounts AS a ON t.AccountID = a.AccountID
)
SELECT t.Created, t.Description, t.Credit, t.Debit, t.TransDate, t.TransactionID, t.AccountID
   , ( SELECT SUM(tt.TransactionTotal)
       FROM transactionTotal AS tt
       WHERE tt.RowNumber <= t.RowNumber) AS RunningTotal
FROM transactionTotal AS t
LEFT JOIN transactionTotal AS tt ON t.RowNumber = tt.RowNumber + 1
ORDER BY t.TransDate DESC


  1. Sloupec nenalezen:1054 Neznámý laravel sloupce

  2. mysql Přístup odepřen uživateli [chráněno e-mailem] (pomocí hesla:NE), přestože heslo nastavil a zadal do uri připojení

  3. Jak vložit/vytvořit uložené procedury v mySQL z PHP?

  4. mysql_fetch_array nenačte všechny řádky