Để tính tổng các cột giá sản phẩm tương ứng cho cùng một khách hàng, bạn dùng SUM() kết hợp GROUP BY theo tên khách hàng.
Ví dụ minh họa
Tạo bảng đơn hàng:
mysql> create table DemoTable (
CustomerName varchar(100),
Product_1_Price int,
Product_2_Price int
);
Chèn dữ liệu (John và David mỗi người 2 đơn hàng):
mysql> insert into DemoTable values('John',67,89);
mysql> insert into DemoTable values('David',769,890);
mysql> insert into DemoTable values('David',987,1000);
mysql> insert into DemoTable values('John',900,111);
Hiển thị dữ liệu gốc:
mysql> select * from DemoTable;
Kết quả:
+--------------+-----------------+-----------------+ | CustomerName | Product_1_Price | Product_2_Price | +--------------+-----------------+-----------------+ | John | 67 | 89 | | David | 769 | 890 | | David | 987 | 1000 | | John | 900 | 111 | +--------------+-----------------+-----------------+
Truy vấn SUM theo CustomerName
mysql> select CustomerName,
SUM(Product_1_Price) AS Total1,
SUM(Product_2_Price) As Total2
from DemoTable group by CustomerName;
Kết quả:
+--------------+--------+--------+ | CustomerName | Total1 | Total2 | +--------------+--------+--------+ | John | 967 | 200 | | David | 1756 | 1890 | +--------------+--------+--------+
Giải thích:
GROUP BY CustomerName: Gom nhóm các đơn hàng cùng kháchSUM(Product_1_Price): Tổng cột giá sản phẩm 1SUM(Product_2_Price): Tổng cột giá sản phẩm 2- John: 67+900=967, 89+111=200
- David: 769+987=1756, 890+1000=1890
Kỹ thuật này là cơ bản của báo cáo doanh thu, tổng hợp đơn hàng, pivot table trong SQL.