MySQLで累積和カラムを作成する
2023-08-21 10:32:28
質問
以下のようなテーブルがあります。
id count
1 100
2 50
3 10
cumulative_sumという新しいカラムを追加したいので、テーブルはこのような感じになります。
id count cumulative_sum
1 100 100
2 50 150
3 10 160
これを簡単に行えるMySQLのupdateステートメントはありますか?これを達成する最良の方法は何ですか?
どのように解決するのですか?
パフォーマンスが問題であれば、MySQLの変数を使用することができます。
set @csum := 0;
update YourTable
set cumulative_sum = (@csum := @csum + count)
order by id;
あるいは
cumulative_sum
カラムを削除して、各クエリで計算することもできます。
set @csum := 0;
select id, count, (@csum := @csum + count) as cumulative_sum
from YourTable
order by id;
これは、実行中の方法で実行中の合計を計算します :)
関連
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] "INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"
-
[解決済み] MySQLで重複する値を検索する
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] MySQLでibdata1ファイルを縮小/パージする方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
MySQLのLike演算子に関する詳細
-
MySQLデータ型の詳細
-
MySQL XAが分散型トランザクションを実装する方法を1記事にまとめました。
-
[解決済み】MySQL - オペランドは1つのカラムを含む必要があります。
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
[解決済み] INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの違いは何ですか?[重複しています]。
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?