Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tính toán giá trị từ nhiều cột trong MySQL

Để tính tổng tích (hoặc các phép toán khác) từ nhiều cột và gom nhóm theo một cột, dùng GROUP BY với hàm tổng hợp.

Cú pháp

SELECT yourColumnName1, SUM(yourColumnName2 * yourColumnName3) AS anyAliasName
FROM yourTableName
GROUP BY yourColumnName1;

Ví dụ minh họa

Tạo bảng đơn hàng với số lượng và đơn giá:

CREATE TABLE calculateValueDemo (
    Id INT,
    ProductPrice INT,
    ProductWeight INT
);

INSERT INTO calculateValueDemo VALUES (100, 35, 5);
INSERT INTO calculateValueDemo VALUES (101, 50, 3);
INSERT INTO calculateValueDemo VALUES (100, 100, 4);
INSERT INTO calculateValueDemo VALUES (101, 500, 2);

Dữ liệu:

+------+--------------+---------------+
| Id   | ProductPrice | ProductWeight |
+------+--------------+---------------+
| 100  | 35           | 5             |
| 101  | 50           | 3             |
| 100  | 100          | 4             |
| 101  | 500          | 2             |
+------+--------------+---------------+

Tính tổng giá trị (Price × Weight) theo từng Id:

SELECT Id, SUM(ProductPrice * ProductWeight) AS Total
FROM calculateValueDemo
GROUP BY Id;

Kết quả:

+------+-------+
| Id   | Total |
+------+-------+
| 100  | 575   |
| 101  | 1150  |
+------+-------+

Giải thích:

  • ProductPrice * ProductWeight tính thành tiền cho mỗi dòng.
  • SUM(...) cộng dồn thành tiền theo nhóm Id.
  • Có thể thay SUM bằng AVG, MIN, MAX tùy nhu cầu.