Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que o MySQL permite agrupar por colunas que não estão selecionadas


Você está certo, o MySQL permite que você crie consultas ambíguas e com resultados arbitrários. O MySQL confia em você para saber o que está fazendo, então é sua responsabilidade evitar consultas como essa.

Você pode fazer o MySQL impor GROUP BY de uma maneira mais padrão:
mysql> SET SQL_MODE=ONLY_FULL_GROUP_BY;

mysql> select EMP_ID, SALARY
  from EMPLOYEE_PAY_TBL
  group by BONUS;

ERROR 1055 (42000): 'test.EMPLOYEE_PAY_TBL.EMP_ID' isn't in GROUP BY