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;