MySQLで累積合計のカラムを作成する
P粉670838735
2023-08-22 11:26:08
<p>次のようなテーブルがあります:</p>
<pre class="brush:php;toolbar:false;">ID カウント
1 100
2 50
3 10
<p>cumulative_sum という新しい列を追加したいので、テーブルは次のようになります。 </p>
<pre class="brush:php;toolbar:false;">id カウント累積合計
1 100 100
2 50 150
3 10 160</pre>
<p>これを簡単に実現できる MySQL 更新ステートメントはありますか?最善のアプローチは何ですか? </p>
関連クエリを使用する:
リーリー
MySQL 変数を使用する:
リーリー ###知らせ:###
JOIN (SELECT @running_total := 0) r- は、別の
MySQL では、サブクエリ/派生テーブル/インライン ビューにテーブル エイリアスが必要です r-
###予防:###
MySQL にのみ適用され、他のデータベースには移植できませんSET
コマンドを必要とせずに変数を宣言できるクロス結合です。ORDER BY- は非常に重要で、順序が元の質問と一致していることが保証され、より複雑な変数の使用法に大きな影響を与える可能性があります (例: MySQL ではサポートされていない疑似 ROW_NUMBER/RANK 機能) )
-
パフォーマンスが問題になる場合は、MySQL 変数を使用できます。
リーリーまたは、
リーリーcumulative_sum
列を削除して、すべてのクエリで計算することもできます。これは累積合計を連続的に計算します:)