MySQLで累積合計のカラムを作成する
P粉670838735
P粉670838735 2023-08-22 11:26:08
0
2
526
<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>
P粉670838735
P粉670838735

全員に返信(2)
P粉245276769

関連クエリを使用する:


リーリー

MySQL 変数を使用する:


リーリー ###知らせ:###

    JOIN (SELECT @running_total := 0) r
  • は、別の SET コマンドを必要とせずに変数を宣言できるクロス結合です。 MySQL では、サブクエリ/派生テーブル/インライン ビューにテーブル エイリアスが必要です
  • r
  • ###予防:###
MySQL にのみ適用され、他のデータベースには移植できません

    ORDER BY
  • は非常に重要で、順序が元の質問と一致していることが保証され、より複雑な変数の使用法に大きな影響を与える可能性があります (例: MySQL ではサポートされていない疑似 ROW_NUMBER/RANK 機能) )
いいねを押す +0
P粉006540600

パフォーマンスが問題になる場合は、MySQL 変数を使用できます。

リーリー

または、cumulative_sum 列を削除して、すべてのクエリで計算することもできます。

リーリー

これは累積合計を連続的に計算します:)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート