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

MySQL-Aggregatfunktionen ohne GROUP BY-Klausel

Es ist beabsichtigt - es ist eine von vielen Erweiterungen des Standards, die MySQL zulässt.

Für eine Abfrage wie SELECT name, MAX(age) FROM t; die Referenzdokumente sagen das:

Ohne GROUP BY gibt es eine einzelne Gruppe und es ist unbestimmt, welcher Namenswert für die Gruppe zu wählen ist

Siehe Dokumentation in der Gruppe nach Handhabung für weitere Informationen.

Die Einstellung ONLY_FULL_GROUP_BY steuert dieses Verhalten, siehe 5.1.7 Server-SQL-Modi die Aktivierung würde eine Abfrage mit einer Aggregatfunktion ohne Group-by-Anweisung verbieten und ist ab MySQL-Version 5.7.5 standardmäßig aktiviert.