Lees MySQL-documentatie op dit specifieke punt.
In een notendop, MySQL staat het weglaten van enkele kolommen uit de GROUP BY toe, voor prestatiedoeleinden, maar dit werkt alleen als de weggelaten kolommen allemaal dezelfde waarde hebben (binnen een groepering), anders is de waarde die door de zoekopdracht wordt geretourneerd inderdaad onbepaald , zoals goed geraden door anderen in dit bericht. Om er zeker van te zijn dat het toevoegen van een ORDER BY-clausule geen enkele vorm van deterministisch gedrag opnieuw zou introduceren.
Hoewel dit niet de kern van het probleem vormt, laat dit voorbeeld zien hoe het gebruik van * in plaats van een expliciete opsomming van gewenste kolommen vaak een slecht idee is.
Fragment uit MySQL 5.0-documentatie:
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.