sql >> データベース >  >> RDS >> Sqlserver

SQL ビューでの累計

    ROW_NUMBER を使用しました かつ CTE 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. Oracle PL/SQLをPostgresqlPL/pgSQLに変換するためのツール

    2. MySQLからの頻繁な結合とクエリのキャッシュとしてのMongoDB

    3. MariaDBクラスターを監視するためのヒント

    4. PostGISを使用したAmazonElasticBeanstalkの設定