Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :qu'arrive-t-il aux champs non agrégés lors d'un GROUP BY ?

MySQL > 5.7.5

C'est une requête illégale.

Vous recevrez une erreur comme :

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

Plus de détails sur https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Réponse courte :c'est une requête valide, mais le serveur est libre de renvoyer n'importe quelle valeur

Lire ceci https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html affiche :

Il n'y a donc aucun moyen de déterminer quelle sera cette valeur (s'il y a plus de valeurs pour ce groupe)