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

MySQL:Hvad sker der med ikke-aggregerede felter på en GROUP BY?

MySQL> 5.7.5

Det er en ulovlig forespørgsel.

Du vil modtage en fejl som:

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

Flere detaljer på https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Kort svar:det er en gyldig forespørgsel, men serveren kan frit returnere enhver værdi

Læser denne https://dev.mysql.com /doc/refman/5.0/da/group-by-handling.html viser:

Så der er ingen måde at bestemme, hvad den værdi vil være (hvis der er flere værdier for den gruppe)



  1. Hvordan indstiller man tilfældigt tekst til knapper fra SQLite uden gentagelser?

  2. 4 måder at erstatte NULL med en anden værdi i MySQL

  3. Oracle TNS-navne vises ikke, når der tilføjes ny forbindelse til SQL Developer

  4. Hvordan kan jeg importere en JSON-fil til PostgreSQL?