1
respuesta

[Duda] Ejecución de las condiciones

Buenas a todos:

Cuando el docente hace el penúltimo ejercicio, se ejecuta o muestra los datos sin ningún problema. En cambio, cuando lo pongo en práctica me genera un error porque no estoy declarando el campo CIUDAD en GROUP BY.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad¿Porqué funcionó la tabla en el ejemplo del profesor?

Gracias de antemano :)

1 respuesta

¡Hola Camila, espero que estés bien!

El error 1055 en MySQL se refiere a la configuración ONLY_FULL_GROUP_BY en el modo SQL. Esta configuración es una restricción que MySQL impone para hacer que las consultas con la cláusula GROUP BY sean más estrictas en términos de qué columnas deben estar presentes en la cláusula GROUP BY o ser parte de funciones de agregación en la lista de selección.

Cuando se activa ONLY_FULL_GROUP_BY, MySQL exige que todas las columnas en la lista de selección que no están dentro de funciones de agregación deben estar presentes en la cláusula GROUP BY. Este comportamiento garantiza que el resultado de la consulta sea determinista y que cada fila devuelta sea única. En este caso, una posible solución es desactivar esta configuración ejecutando el siguiente código vía consola mysql:

mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@sql_mode,'ONLY_FULL_GROUP_BY',''));

Este código SQL se encarga de modificar la configuración global de sql_mode en MySQL. La configuración sql_mode controla varios aspectos del comportamiento de MySQL, incluyendo el manejo de consultas SQL.

En resumen, este código modifica la configuración global de MySQL, específicamente eliminando la restricción ONLY_FULL_GROUP_BY de la configuración sql_mode. Esto podría ser útil en situaciones donde se quiere flexibilizar las restricciones en las consultas que involucran la cláusula GROUP BY. Es importante tener en cuenta que hacer esto podría tener implicaciones en la integridad y consistencia de las consultas, por lo que se debe usar con precaución.

¡Espero haber ayudado y buenos estudios!