Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Was passiert mit nicht aggregierten Feldern bei einem GROUP BY?

MySQL> 5.7.5

Es ist eine illegale Abfrage.

Sie erhalten eine Fehlermeldung wie:

ERROR 1055 (42000): Expression #1 of SELECT list is not in 
GROUP BY clause and contains nonaggregated column 'a' 
which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Weitere Einzelheiten unter https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Kurze Antwort:Es ist eine gültige Abfrage, aber der Server kann jeden Wert zurückgeben

Lesen Sie diesen https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html zeigt:

Es gibt also keine Möglichkeit, diesen Wert zu bestimmen (wenn es mehr Werte für diese Gruppe gibt)