MySQLで累積合計列を作成するにはどうすればよいですか?

王林
リリース: 2023-09-12 12:09:04
転載
1076 人が閲覧しました

如何在 MySQL 中创建累积和列?

MySQL で累積合計列を作成するには、変数を作成し、値を 0 に設定する必要があります。累積合計は、現在の値から次の値まで増加します。

まず、SET を使用して変数を作成する必要があります。構文は次のとおりです -

set @anyVariableName:= 0;
ログイン後にコピー

MySQL で累積合計カラムを作成するための構文は次のとおりです -

select yourColumnName1,yourColumnName2,........N,(@anyVariableName := @anyVariableName + yourColumnName2) as anyVariableName from yourTableName order by yourColumnName1;
ログイン後にコピー

上記の概念を理解するために、テーブルを作成してみましょう。以下は、テーブルを作成するクエリです。 -

mysql> create table CumulativeSumDemo −> ( −> BookId int, −> BookPrice int −> ); Query OK, 0 rows affected (0.67 sec)
ログイン後にコピー

select ステートメントを使用して、いくつかのレコードをテーブルに挿入します。レコードを挿入するクエリは次のとおりです。

mysql> insert into CumulativeSumDemo values(101,400); Query OK, 1 row affected (0.15 sec) mysql> insert into CumulativeSumDemo values(102,500); Query OK, 1 row affected (0.16 sec) mysql> insert into CumulativeSumDemo values(103,600); Query OK, 1 row affected (0.16 sec) mysql> insert into CumulativeSumDemo values(104,1000); Query OK, 1 row affected (0.18 sec)
ログイン後にコピー

は、insert コマンドを使用して挿入したすべてのレコードを表示します。クエリは次のとおりです -

mysql> select *from CumulativeSumDemo;
ログイン後にコピー

出力は次のとおりです -

+--------+-----------+ | BookId | BookPrice | +--------+-----------+ | 101 | 400 | | 102 | 500 | | 103 | 600 | | 104 | 1000 | +--------+-----------+ 4 rows in set (0.00 sec)
ログイン後にコピー

累積合計列を追加するには、まず変数を作成する必要があります。クエリは次のとおりです。 -

mysql> set @CumulativeSum := 0; Query OK, 0 rows affected (0.00 sec)
ログイン後にコピー

冒頭で説明した上記の構文を実装して、累積合計列を追加します。クエリは次のとおりです -

mysql> select BookId,BookPrice,(@CumulativeSum := @CumulativeSum + BookPrice) as CumSum −> from CumulativeSumDemo order by BookId;
ログイン後にコピー

以下は出力です。累積合計列もここに表示されます -

+--------+-----------+--------+ | BookId | BookPrice | CumSum | +--------+-----------+--------+ | 101 | 400 | 400 | | 102 | 500 | 900 | | 103 | 600 | 1500 | | 104 | 1000 | 2500 | +--------+-----------+--------+ 4 rows in set (0.00 sec)
ログイン後にコピー

以上がMySQLで累積合計列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!