MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

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

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)

  1. MySQLビューを作成する方法は?

    MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802      (      StudentId int,      StudentName varchar(20)      ); Query OK, 0 ro

  2. MySQLシーケンスを作成する方法は?

    MySQLのシーケンスとは何ですか? MySQLでは、シーケンスとは、指定されている場合は1または0から昇順で生成される整数のリストを指します。多くのアプリケーションでは、特に識別のために一意の番号を生成するために使用されるシーケンスが必要です。 例 例としては、CRMの顧客ID、HRの従業員番号、サービス管理システムの機器番号などがあります。 MySQLでシーケンスを自動的に作成するには、列のAUTO_INCREMENT属性を設定する必要があります。これは通常、主キー列になります。 ルール AUTO_INCREMENT属性を使用するときは、次のルールに従う必要があります- すべての