ホームページ >データベース >mysql チュートリアル >MySQLで累積合計列を作成するにはどうすればよいですか?

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

王林
王林転載
2023-09-12 12:09:041169ブラウズ

如何在 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 までご連絡ください。