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

現在のデータを合計するMySQLSELECT関数

    これは累積合計と呼ばれます。

    Oracle内 およびPostgreSQL 、ウィンドウ関数を使用して計算されます:

    SELECT  id, val, SUM() OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    FROM    mytable
    

    ただし、MySQL サポートされていません。

    MySQLで 、セッション変数を使用して計算できます:

    SET @s = 0;
    
    SELECT  id, val, @s := @s + val
    FROM    mytable
    ORDER BY
            id
    ;
    

    または、純粋なセットベースですが効率が悪い方法で:

    SELECT  t1.id, t1.val, SUM(t2.val)
    FROM    mytable t1
    JOIN    mytable t2
    ON      t2.id <= t1.id
    GROUP BY
            t1.id
    ;
    


    1. ユーザーがドロップダウンメニューからオプションを選択したときに、データベースからレコードを印刷する方法は?動的プログラム

    2. codeignitermysql左結合インクルード選択

    3. @@MAX_CONNECTIONSがSQLServerでどのように機能するか

    4. カテゴリを持つすべてのWordPress投稿を抽出するSQLクエリ