如何從 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+ 瀏覽

開啟你的 職業生涯

完成課程獲取認證

立即開始
廣告