Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

622
Vistas
esto es incompatible con sql_mode=only_full_group_by

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

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

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 a

Si 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, b

o

 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.

about 4 years ago · Santiago Trujillo Denunciar

0

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.

about 4 years ago · Santiago Trujillo Denunciar

0

Solo tiene que reemplazar declaración global por session :

 SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda