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

Tính tổng giá trị sản phẩm (Số lượng × Đơn giá) trong bảng MySQL

Để tính tổng giá trị tồn kho hoặc doanh thu (Số lượng × Đơn giá) cho toàn bộ bảng sản phẩm, dùng hàm tổng hợp SUM() trên biểu thức nhân hai cột.

Tạo bảng sản phẩm

mysql> CREATE TABLE DemoTable (
    ProductId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ProductQuantity INT,
    ProductPrice INT
);

Chèn dữ liệu

mysql> INSERT INTO DemoTable (ProductQuantity, ProductPrice) VALUES
(10, 100), (5, 11), (3, 140), (2, 450);

Dữ liệu

mysql> SELECT * FROM DemoTable;
+-----------+-----------------+--------------+
| ProductId | ProductQuantity | ProductPrice |
+-----------+-----------------+--------------+
|         1 |              10 |          100 |
|         2 |               5 |           11 |
|         3 |               3 |          140 |
|         4 |               2 |          450 |
+-----------+-----------------+--------------+

Truy vấn tính tổng giá trị

mysql> SELECT SUM(ProductQuantity * ProductPrice) AS Total_of_Products FROM DemoTable;

Kết quả

+-------------------+
| Total_of_Products |
+-------------------+
|              2375 |
+-------------------+

Chi tiết tính toán

  • Sản phẩm 1: 10 × 100 = 1,000
  • Sản phẩm 2: 5 × 11 = 55
  • Sản phẩm 3: 3 × 140 = 420
  • Sản phẩm 4: 2 × 450 = 900
  • Tổng: 1,000 + 55 + 420 + 900 = 2,375

Mở rộng: Tính tổng theo nhóm (GROUP BY)

Nếu bảng có cột Category, tính tổng theo danh mục:

SELECT Category, SUM(ProductQuantity * ProductPrice) AS Total_Value
FROM Products GROUP BY Category;

Lưu ý: SUM() bỏ qua NULL. Nếu Quantity hoặc Price có NULL, hàng đó đóng góp 0 vào tổng (vì NULL * số = NULL, SUM bỏ qua NULL). Dùng COALESCE(Quantity,0) * COALESCE(Price,0) nếu muốn coi NULL như 0.