Để tính toán một giá trị từ nhiều cột, hãy sử dụng GROUP BY. Sau đây là cú pháp -
select yourColumnName1,sum(yourColumnName2*yourColumnName3) AS anyAliasName from yourTableName group by yourColumnName1;
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table calculateValueDemo -> ( -> Id int, -> ProductPrice int, -> ProductWeight int -> ); Query OK, 0 rows affected (0.56 sec)
Sau đây là truy vấn để chèn các bản ghi trong bảng bằng cách sử dụng lệnh 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)
Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select -
mysql> select * from calculateValueDemo;
Điều này sẽ tạo ra kết quả sau -
+------+--------------+---------------+ | Id | ProductPrice | ProductWeight | +------+--------------+---------------+ | 100 | 35 | 5 | | 101 | 50 | 3 | | 100 | 100 | 4 | | 101 | 500 | 2 | +------+--------------+---------------+ 4 rows in set (0.00 sec)
Đây là truy vấn để tính giá trị từ nhiều cột -
mysql> select Id,sum(ProductPrice*ProductWeight) AS Total from calculateValueDemo group by Id;
Điều này sẽ tạo ra kết quả sau -
+------+-------+ | Id | Total | +------+-------+ | 100 | 575 | | 101 | 1150 | +------+-------+ 2 rows in set (0.00 sec)