Đọc Tài liệu MySQL > về điểm cụ thể này.
Tóm lại, MySQL cho phép bỏ qua một số cột khỏi GROUP BY, vì mục đích hiệu suất, tuy nhiên điều này chỉ hoạt động nếu các cột bị bỏ qua đều có cùng giá trị (trong một nhóm), nếu không, giá trị được trả về bởi truy vấn thực sự là không xác định , như những người khác đã đoán đúng trong bài đăng này. Để chắc chắn rằng việc thêm một mệnh đề ORDER BY sẽ không giới thiệu lại bất kỳ hình thức hành vi xác định nào.
Mặc dù không phải là cốt lõi của vấn đề, nhưng ví dụ này cho thấy cách sử dụng * thay vì liệt kê rõ ràng các cột mong muốn thường là một ý tưởng tồi.
Trích từ tài liệu MySQL 5.0:
When using this feature, all rows in each group should have the same values for the columns that are omitted from the GROUP BY part. The server is free to return any value from the group, so the results are indeterminate unless all values are the same.