MySQL 如何获取另一列每个不同值的总和

MySQL 如何获取另一列每个不同值的总和

您可以使用聚合函数SUM()和GROUP BY命令获取另一列每个不同值的总和。为了理解上述概念,让我们创建一个表。创建表的查询如下:

mysql> create table SumOfEveryDistinct
   -> (
   -> Id int not null,
   -> Amount int
   -> );
Query OK, 0 rows affected (0.59 sec)

使用插入命令将一些记录插入表中。查询如下:

mysql> insert into SumOfEveryDistinct values(10,100);
Query OK, 1 row affected (0.19 sec)
mysql> insert into SumOfEveryDistinct values(11,200);
Query OK, 1 row affected (0.20 sec)
mysql> insert into SumOfEveryDistinct values(12,300);
Query OK, 1 row affected (0.14 sec)
mysql> insert into SumOfEveryDistinct values(10,400);
Query OK, 1 row affected (0.20 sec)
mysql> insert into SumOfEveryDistinct values(11,500);
Query OK, 1 row affected (0.10 sec)
mysql> insert into SumOfEveryDistinct values(12,600);
Query OK, 1 row affected (0.13 sec)
mysql> insert into SumOfEveryDistinct values(10,700);
Query OK, 1 row affected (0.10 sec)
mysql> insert into SumOfEveryDistinct values(11,800);
Query OK, 1 row affected (0.18 sec)
mysql> insert into SumOfEveryDistinct values(12,900);
Query OK, 1 row affected (0.19 sec)

使用select语句显示表中的所有记录。查询如下:

mysql> select *from SumOfEveryDistinct;

以下是输出结果:

+----+--------+
| Id | Amount |
+----+--------+
| 10 |    100 |
| 11 |    200 |
| 12 |    300 |
| 10 |    400 |
| 11 |    500 |
| 12 |    600 |
| 10 |    700 |
| 11 |    800 |
| 12 |    900 |
+----+--------+
9 rows in set (0.00 sec)

下面是查询另一列每个不同值的总和的查询:

mysql> select Id, sum(Amount) as TotalSum from SumOfEveryDistinct
   -> group by Id;

以下是输出结果:

+----+----------+
| Id | TotalSum |
+----+----------+
| 10 |     1200 |
| 11 |     1500 |
| 12 |     1800 |
+----+----------+
3 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程