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

累積合計を取得する方法

    select t1.id, t1.SomeNumt, SUM(t2.SomeNumt) as sum
    from @t t1
    inner join @t t2 on t1.id >= t2.id
    group by t1.id, t1.SomeNumt
    order by t1.id
    

    SQLフィドルの例

    出力

    | ID | SOMENUMT | SUM |
    -----------------------
    |  1 |       10 |  10 |
    |  2 |       12 |  22 |
    |  3 |        3 |  25 |
    |  4 |       15 |  40 |
    |  5 |       23 |  63 |
    

    編集: これは、ほとんどのdbプラットフォームで機能する一般化されたソリューションです。特定のプラットフォーム(ガレスなど)で利用できるより優れたソリューションがある場合は、それを使用してください!



    1. SQL Server 2008を使用してテーブルから上位1000行を削除するにはどうすればよいですか?

    2. 条項間のMySQLは包括的ではありませんか?

    3. MySQLまたはMariaDBのGaleraClusterのパフォーマンスを向上させる

    4. SQLiteSHOWTABLESと同等