从 MySQL 表中获取多行(不是全部)值的总和?

mysqlmysqli database

您可以使用 MySQL 中的聚合函数 SUM() 来实现此目的。让我们首先创建一个表 −

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Amount int
);
Query OK, 0 rows affected (0.65 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable(Amount) values(400);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Amount) values(10);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(Amount) values(50);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Amount) values(500);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(Amount) values(80);
Query OK, 1 row affected (0.09 sec)

以下是使用 select 语句显示表中的所有记录的查询 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+--------+
| Id | Amount |
+----+--------+
| 1  | 400    |
| 2  | 10     |
| 3  | 50     |
| 4  | 500    |
| 5  | 80     |
+----+--------+
5 rows in set (0.00 sec)

以下查询用于获取 MySQL 表中行数(不是全部)的总和 −

mysql> select sum(Amount) from DemoTable where Id in(1,4,5);

这将产生以下输出 −

+-------------+
| sum(Amount) |
+-------------+
| 980         |
+-------------+
1 row in set (0.00 sec)

相关文章