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

Tính tổng giá trị của một cột trên tất cả các hàng trong MySQL

Để 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.