Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Какво се случва с неагрегираните полета при GROUP BY?

MySQL> 5.7.5

Това е незаконна заявка.

Ще получите грешка като:

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

Повече подробности на адрес https://dev.mysql. com/doc/refman/5.7/en/group-by-handling.html

MySQL <5.7.5

Кратък отговор:това е валидна заявка, но сървърът е свободен да върне всяка стойност

Четене на това https://dev.mysql.com /doc/refman/5.0/en/group-by-handling.html показва:

Така че няма начин да се определи каква ще бъде тази стойност (ако има повече стойности за тази група)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Синтаксис за входни параметри в MySQL заявка

  2. ЗАМЕНЯТЕ нов символ на ред в MYSql не работи

  3. mysqlworkbench дава грешка във версията при експортиране на база данни

  4. Не е уникална таблица/псевдоним

  5. Създайте физически архиви на вашите MariaDB или MySQL бази данни