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

Tính SUM chỉ từ các ô cụ thể trong MySQL (có điều kiện WHERE)

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.