如何从 MySQL 的多列计算值?


要从多列计算值,请使用 GROUP BY。以下是语法 −

select yourColumnName1,sum(yourColumnName2*yourColumnName3) AS anyAliasName
from yourTableName group by yourColumnName1;

让我们先创建一个表 −

mysql> create table calculateValueDemo
   -> (
   -> Id int,
   -> ProductPrice int,
   -> ProductWeight int
   -> );
Query OK, 0 rows affected (0.56 sec)

以下是使用 insert 命令在表中插入记录的查询 −

mysql> insert into calculateValueDemo values(100,35,5);
Query OK, 1 row affected (0.16 sec)

mysql> insert into calculateValueDemo values(101,50,3);
Query OK, 1 row affected (0.16 sec)

mysql> insert into calculateValueDemo values(100,100,4);
Query OK, 1 row affected (0.17 sec)

mysql> insert into calculateValueDemo values(101,500,2);
Query OK, 1 row affected (0.22 sec)

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

mysql> select * from calculateValueDemo;

这将生成以下输出 −

+------+--------------+---------------+
| Id   | ProductPrice | ProductWeight |
+------+--------------+---------------+
| 100  | 35           | 5             |
| 101  | 50           | 3             |
| 100  | 100          | 4             |
| 101  | 500          | 2             |
+------+--------------+---------------+
4 rows in set (0.00 sec)

以下是从多列计算值的查询 −

mysql> select Id,sum(ProductPrice*ProductWeight) AS Total from calculateValueDemo group
by Id;

这将生成以下输出 −

+------+-------+
| Id   | Total |
+------+-------+
| 100  | 575   |
| 101  | 1150  |
+------+-------+
2 rows in set (0.00 sec)

更新于: 2019 年 7 月 30 日

1K+ 浏览

开启你的 职业生涯

完成课程获取认证

立即开始
广告
© . All rights reserved.