Esto es algo nuevo en MySQL 5.7 y es una advertencia de que su consulta es ambigua.
Considere la siguiente tabla:
id | name | age | points
--------------------------------------------
1 Bob 21 1
2 James 14 1
3 Bob 21 3
4 James 14 2
5 Casey 17 3
Si hiciste la siguiente consulta:
SELECT name, age, SUM(points) FROM scores GROUP BY name
Luego el name
La columna se utiliza para agrupar. Tenga en cuenta que age
puede tener varios valores, por lo que es "no agregado". Tienes que hacer algo para colapsar esos valores.
El comportamiento en 5.6 y versiones anteriores consistía simplemente en elegir el primero según el orden de clasificación, aunque a veces esto era impredecible y fallaba. En 5.7 te impiden hacerlo en primer lugar.
La solución aquí es agrupar eso también, o aplicar un operador agregado como MIN()
a ella.