sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué MySQL te permite agrupar por columnas que no están seleccionadas?

Tiene razón, MySQL le permite crear consultas que son ambiguas y tienen resultados arbitrarios. MySQL confía en que sabrá lo que está haciendo, por lo que es su responsabilidad evitar consultas como esa.

Puede hacer que MySQL aplique GROUP BY de una forma más estándar:

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