MySQLドキュメント> この特定の点について。
一言で言えば、MySQLではパフォーマンスの目的でGROUP BYから一部の列を省略できますが、これは省略された列がすべて同じ値である場合にのみ機能します (グループ内)それ以外の場合、クエリによって返される値は実際には不確定です 、この投稿で他の人が適切に推測したように。 ORDER BY句を追加しても、決定論的な動作が再導入されないことを確認してください。
問題の核心ではありませんが、この例は、目的の列を明示的に列挙するのではなく、*を使用することがしばしば悪い考えであることを示しています。
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.