Hai câu truy vấn cho kết quả giống nhau:
SELECT MAX(DISTINCT cot) FROM bang; SELECT MAX(cot) FROM bang;
Lý do: MySQL nội bộ tự động loại bỏ trùng lặp khi tính MAX()/MIN(), nên DISTINCT là thừa.
Tạo bảng:
mysql> CREATE TABLE DemoTable (Number INT); Query OK, 0 rows affected (1.50 sec)
Chèn dữ liệu (88 lặp 3 lần):
mysql> INSERT INTO DemoTable VALUES(80),(88),(78),(88),(68),(88);
Trường hợp 1 — có DISTINCT:
mysql> SELECT MAX(DISTINCT Number) FROM DemoTable;
Kết quả: 88
Trường hợp 2 — không DISTINCT:
mysql> SELECT MAX(Number) FROM DemoTable;
Kết quả: 88
Kết luận: Không cần viết DISTINCT trong MAX()/MIN(). Chỉ có ý nghĩa với COUNT(DISTINCT), SUM(DISTINCT), AVG(DISTINCT).