MySQL 如何创建累计总和列

MySQL 如何创建累计总和列

要在MySQL中创建累计总和列,您需要创建一个变量,并将值设置为0。累计总和逐步增加下一个值,并与当前值一起增加。

首先,您需要使用SET来创建一个变量。语法如下 –

set @任意变量名称:= 0;

在MySQL中创建累计总和列的语法如下 –

select 列名称1,列名称2,........N,(@任意变量名称:= @任意变量名称 + 列名称2)as 任意变量名称
from 表名称 order by 列名称1;

为了理解上述概念,让我们创建一个表。以下是创建表的查询 –

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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程