sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Vad händer med icke aggregerade fält på en GROUP BY?

MySQL> 5.7.5

Det är en olaglig fråga.

Du kommer att få ett felmeddelande 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

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

MySQL <5.7.5

Kort svar:det är en giltig fråga, men servern är fri att returnera alla värden

Läser denna https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html visar:

Så det finns inget sätt att avgöra vad det värdet kommer att vara (om det finns fler värden för den gruppen)



  1. Reverse Engineering en datamodell med Oracle SQL Developer

  2. Inlämningsformuläret stannar inte på samma sida

  3. MySQL Välj ID:n som förekommer på olika rader med flera specifika värden för en kolumn

  4. ORA-01830:datumformatbilden slutar innan hela inmatningssträngen konverteras / Välj summa där datumfrågan