如何在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)
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP