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

MySQL:cosa succede ai campi non aggregati su un GROUP BY?

MySQL> 5.7.5

È una domanda illegale.

Riceverai un errore del tipo:

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

Maggiori dettagli su https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Risposta breve:è una query valida, ma il server è libero di restituire qualsiasi valore

Leggendo questo https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html mostra:

Quindi non c'è modo di determinare quale sarà quel valore (se ci sono più valori per quel gruppo)