Để tính trung bình tổng điểm chia cho số lượng ID riêng biệt (distinct), dùng SUM(Score) / COUNT(DISTINCT Id).
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable (
Id INT,
Score INT
);
Chèn dữ liệu (ID 10 và 11 đều có 2 bản ghi):
mysql> INSERT INTO DemoTable VALUES(10, 90); mysql> INSERT INTO DemoTable VALUES(10, 190); mysql> INSERT INTO DemoTable VALUES(11, 230); mysql> INSERT INTO DemoTable VALUES(11, 130);
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+------+-------+ | Id | Score | +------+-------+ | 10 | 90 | | 10 | 190 | | 11 | 230 | | 11 | 130 | +------+-------+
Tổng điểm = 640, số ID distinct = 2, trung bình = 320:
mysql> SELECT SUM(Score) / COUNT(DISTINCT Id) FROM DemoTable;
Kết quả
+---------------------------------+ | SUM(Score) / COUNT(DISTINCT Id) | +---------------------------------+ | 320.0000 | +---------------------------------+
Lưu ý: Kết quả là số thực (decimal). Dùng CAST(... AS UNSIGNED) hoặc ROUND() nếu muốn số nguyên.