Mi consulta SQL no funciona mostrando este error:
esto es incompatible con sql_mode=only_full_group_by
Estoy ejecutando esta consulta en otro panel mysql que funciona bien. En el nuevo servidor no funciona....
Si ejecuto esto, entonces el error no funciona y tampoco funciona group by
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));Nueva versión del servidor
Versión de la biblioteca API del cliente: mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $ PHP Versión 7.0.15-0ubuntu0.16.04.4
No puedo estar seguro sin ver su consulta, pero supongo que está usando diferentes conjuntos de columnas en su select y en su group by cláusulas.
select a, b, sum(c) from table group by aSi ese es el caso, puede escribir su consulta como una de estas, dependiendo de lo que realmente desee
select a, b, sum(c) from table group by a, bo
select a, sum(c) from table group by a Tenga en cuenta que así es como se debe usar group by en casi cualquier base de datos. MySQL que permite diferentes conjuntos es la anomalía.
Consulte Deshabilitar ONLY_FULL_GROUP_BY para obtener más respuestas. Las respuestas aquí no me funcionaron, pero editar my.cnf, como se sugirió, funcionó. Probé mysql-server 5.7.19-0ubuntu0.16.04.1 desde Ubuntu 16.04.
Pero, por supuesto, la solución adecuada es corregir su consulta... revertir el antiguo mal comportamiento es solo una solución.
Solo tiene que reemplazar declaración global por session :
SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));