Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

No funciona la consulta

Copio la consulta tal cual, y me dice esto; "Error Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jugos_ventas.tabla_de_productos.SABOR' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 0.000 sec"

SELECT ENVASE, SABOR, CASE WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso' WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequible' ELSE 'Barato' END AS PRECIO, MIN(PRECIO_DE_LISTA) AS PRECIO_MINIMO FROM tabla_de_productos WHERE TAMANO = '700 ml' GROUP BY ENVASE, CASE WHEN PRECIO_DE_LISTA >= 12 THEN 'Costoso' WHEN PRECIO_DE_LISTA >= 5 AND PRECIO_DE_LISTA < 12 THEN 'Asequible' ELSE 'Barato' END ORDER BY ENVASE;

3 respuestas

Hola. A mí me ha pasado lo mismo. Buscando un poco, parece ser que el problema en principio tiene que ver con la versión de MYSQL que estamos usando. Encontré este artículo donde habla un poco del problema: https://clientes.digital-express.com.ar/support/solutions/articles/48001187649-mysql-error-1055-group-by Hay que hacer un seteo antes, para que la query funcione (arriba de todo en tu archivo SQL):


SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

NOTA: El seteo no es permanente (salvo que alteres el archivo de configuración, pero si no sabes qué estás haciendo te recomiendo no hacerlo). Cuando cierras la sesión tienes que volver a pasarlo para que la query funcione. Espero que te sirva. Saludos

Hola Paulo, muchas gracias por la ayuda, ya hice el seteo y funciono la consulta correctamente.

¡Perfecto! Me alegra que te haya servido. Saludos