Sử dụng WHERE lọc hàng, sau đó SUM() trên cột số để tổng có điều kiện.
Ví dụ minh họa
Tạo bảng điểm:
mysql> CREATE TABLE DemoTable1370 (StudentName VARCHAR(20), Marks INT);
Chèn dữ liệu (Adam 3 môn, Chris 2 môn, David 1, John 1):
mysql> INSERT INTO DemoTable1370 VALUES('Adam Smith', 56), ('Chris Brown', 67), ('Adam Smith', 69), ('David Miller', 98), ('John Smith', 59), ('Adam Smith', 79), ('Chris Brown', 77);
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1370;
+--------------+-------+ | StudentName | Marks | +--------------+-------+ | Adam Smith | 56 | | Chris Brown | 67 | | Adam Smith | 69 | | David Miller | 98 | | John Smith | 59 | | Adam Smith | 79 | | Chris Brown | 77 | +--------------+-------+
Tính tổng điểm chỉ của 'Adam Smith':
mysql> SELECT SUM(Marks) AS Total FROM DemoTable1370 WHERE StudentName = 'Adam Smith';
Kết quả (56+69+79=204):
+-------+ | Total | +-------+ | 204 | +-------+
Mở rộng - tổng theo từng sinh viên (GROUP BY):
SELECT StudentName, SUM(Marks) AS Total FROM DemoTable1370 GROUP BY StudentName;
+--------------+-------+ | StudentName | Total | +--------------+-------+ | Adam Smith | 204 | | Chris Brown | 144 | | David Miller | 98 | | John Smith | 59 | +--------------+-------+
Lưu ý: WHERE lọc hàng trước khi gom nhóm/tính tổng. HAVING lọc sau GROUP BY.