Isso é uma novidade no MySQL 5.7 e é um aviso de que sua consulta é ambígua.
Considere a seguinte tabela:
id | name | age | points
--------------------------------------------
1 Bob 21 1
2 James 14 1
3 Bob 21 3
4 James 14 2
5 Casey 17 3
Se você fez a seguinte consulta:
SELECT name, age, SUM(points) FROM scores GROUP BY name
Em seguida, o
name
coluna é usada para agrupamento. Observe que age
pode ter vários valores, por isso é "não agregado". Você precisa fazer algo para reduzir esses valores. O comportamento no 5.6 e anterior era apenas escolher o primeiro dependendo da ordem de classificação, embora isso às vezes fosse imprevisível e falhasse. Em 5.7, eles estão impedindo você de fazer isso em primeiro lugar.
A solução aqui é agrupar isso também, ou aplicar um operador agregado como
MIN()
para isso.