MySQL に累積合計カラムを作成する
データセットを処理するとき、多くの場合、累積合計を計算する必要があります。 MySQL では、これをいくつかの方法で実現できます。
関連クエリを使用する
関連クエリには、同じクエリ内の他の行からのデータの参照が含まれます。このメソッドを使用して累積合計列を作成するには:
<code class="language-sql">SELECT t.id, t.count, (SELECT SUM(x.count) FROM TABLE x WHERE x.id <= t.id) AS cumulative_sum FROM TABLE t ORDER BY t.id;</code>
MySQL 変数の使用
MySQL 変数は累積合計の計算にも使用できます。これには、クエリ内で変数を宣言し、それをインクリメントすることが含まれます:
<code class="language-sql">SELECT t.id, t.count, @running_total := @running_total + t.count AS cumulative_sum FROM TABLE t JOIN (SELECT @running_total := 0) r ORDER BY t.id;</code>
変数の宣言にはクロス結合 (SELECT @running_total := 0) r
が使用されることに注意してください。
メモ
ORDER BY
句は、計算の正しい順序を保証するために重要です。 以上がMySQL で累積合計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。