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

Tổng hợp (SUM) các bản ghi trùng lặp tương ứng trong MySQL

Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable (
    -> StudentName VARCHAR(20),
    -> StudentMarks INT
    -> ); Query OK, 0 rows affected (0.68 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable VALUES('Chris',50); Query OK, 1 row affected (0.61 sec)
mysql> INSERT INTO DemoTable VALUES('David',70); Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable VALUES('Chris',80); Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('David',90); Query OK, 1 row affected (0.24 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+-------------+--------------+
| StudentName | StudentMarks |
+-------------+--------------+
| Chris       |           50 |
| David       |           70 |
| Chris       |           80 |
| David       |           90 |
+-------------+--------------+
4 rows in set (0.00 sec)

Dưới đây là truy vấn để tính tổng các bản ghi trùng lặp tương ứng, tức là tổng điểm của các sinh viên:

mysql> SELECT StudentName, SUM(StudentMarks) FROM DemoTable GROUP BY StudentName;

Kết quả sẽ như sau:

+-------------+-------------------+
| StudentName | SUM(StudentMarks) |
+-------------+-------------------+
| Chris       |               130 |
| David       |               160 |
+-------------+-------------------+
2 rows in set (0.00 sec)