Để tính tổng của một cột số trên toàn bộ bảng, MySQL cung cấp hàm tổng hợp SUM(). Đây là thao tác cơ bản và phổ biến nhất.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Amount INT
);
mysql> INSERT INTO DemoTable (Amount) VALUES (50), (60), (70);
Xem dữ liệu
mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Amount |
+----+--------+
| 1 | 50 |
| 2 | 60 |
| 3 | 70 |
+----+--------+
Truy vấn tính tổng
mysql> SELECT SUM(Amount) FROM DemoTable;
Kết quả
+-------------+
| SUM(Amount) |
+-------------+
| 180 |
+-------------+
Mở rộng: Tổng có điều kiện
Nếu chỉ muốn tổng các hàng thỏa mãn điều kiện, thêm mệnh đề WHERE:
SELECT SUM(Amount) FROM DemoTable WHERE Amount > 55;
Kết quả: 130 (60 + 70).
Lưu ý: SUM() tự động bỏ qua các giá trị NULL. Nếu tất cả giá trị đều NULL, kết quả trả về NULL (không phải 0). Dùng COALESCE(SUM(Amount), 0) nếu muốn trả về 0.