Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Ultimo script

Hola buenas tardes, en mi caso tengo activado por default "ONLY_FULL_GROUP_BY (true)", por lo que me arrojaba el error:

18:51:27	SELECT estado AS Estado, barrio AS Barrio, MAX(limite_de_credito) AS limite, edad FROM tabla_de_clientes WHERE edad >= 20 GROUP BY Estado, Barrio  ORDER BY edad	Error Code: 1055. Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jugos_ventas.tabla_de_clientes.EDAD' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by	0.000 sec

Lo puede solucionar agregando 'edad' dentro de la clausula GROUP BY

SELECT estado AS Estado, barrio AS Barrio, MAX(limite_de_credito) AS limite,
edad AS Edad FROM tabla_de_clientes
WHERE edad >= 20
GROUP BY Estado, Barrio, edad 
ORDER BY edad;
1 respuesta

¡Hola Christian!

Por lo que veo, has encontrado una solución al agregar el campo 'edad' dentro de la cláusula GROUP BY, lo cual está perfecto.

El modo "ONLY_FULL_GROUP_BY" en MySQL es una configuración que hace que el motor de base de datos sea más estricto con las consultas GROUP BY, exigiendo que todas las columnas seleccionadas en la consulta estén presentes en la cláusula GROUP BY o que sean agregadas con alguna función de agregación como MAX, MIN, SUM, COUNT, etc.

En tu caso, al seleccionar la columna 'edad' sin agregarla a la cláusula GROUP BY ni utilizar una función de agregación, el motor de base de datos arroja un error debido a la configuración "ONLY_FULL_GROUP_BY". Al agregar 'edad' a la cláusula GROUP BY, has resuelto el problema.

Recuerda que esta configuración es una medida de seguridad para evitar resultados inesperados en las consultas GROUP BY, pero también puede requerir ajustes en las consultas existentes.

Espero que esta explicación te ayude a comprender mejor la situación. Si tienes más preguntas al respecto, no dudes en preguntar.

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!