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

Tính tổng một nhóm hàng cụ thể (không phải tất cả) trong MySQL

Sử dụng SUM() kết hợp WHERE ... IN (...) để chỉ cộng dồn các hàng thỏa mãn điều kiện.

Ví dụ

Tạo bảng Amount:

mysql> create table DemoTable ( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    Amount int 
); 
Query OK, 0 rows affected (0.65 sec)
mysql> insert into DemoTable(Amount) values(400); 
mysql> insert into DemoTable(Amount) values(10); 
mysql> insert into DemoTable(Amount) values(50); 
mysql> insert into DemoTable(Amount) values(500); 
mysql> insert into DemoTable(Amount) values(80);

Dữ liệu (Id 1-5): 400, 10, 50, 500, 80

Tổng các hàng Id 1, 4, 5

mysql> select sum(Amount) from DemoTable where Id in(1,4,5);
+-------------+
| sum(Amount) |
+-------------+
| 980         |
+-------------+

(400 + 500 + 80 = 980)

Mở rộng: Dùng CASE WHEN trong SUM() để tổng có điều kiện phức tạp hơn:

SELECT SUM(CASE WHEN Id IN (1,4,5) THEN Amount ELSE 0 END) FROM DemoTable;