Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Aggregate Functions senza clausola GROUP BY

È in base alla progettazione:è una delle tante estensioni dello standard consentite da MySQL.

Per una query come SELECT name, MAX(age) FROM t; i documenti di riferimento dicono che:

Senza GROUP BY, esiste un unico gruppo ed è indeterminato quale valore del nome scegliere per il gruppo

Vedi la documentazione sul gruppo gestendo per ulteriori informazioni.

L'impostazione ONLY_FULL_GROUP_BY controlla questo comportamento, vedere 5.1.7 Modalità SQL del server abilitare questo non consentirebbe una query con una funzione aggregata priva di un'istruzione group by ed è abilitata per impostazione predefinita da MySQL versione 5.7.5.