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

Truy vấn MySQL SUM giá trị cột tương tự theo khách hàng và hiển thị tổng

Để 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ách
  • SUM(Product_1_Price): Tổng cột giá sản phẩm 1
  • SUM(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.