Error: column must appear in the GROUP BY clause or be used in an aggregate function
Alejandro
Nivel 3 ·
Alejandro
Nivel 3 ·
Valentín C.
Nivel 2 ·
Cuando agrupás, cada columna del SELECT tiene que estar en el GROUP BY o dentro de una función de agregación. Si un vendedor vendió en dos sucursales, ¿cuál debería mostrar? Postgres no adivina.
Androide99
Nivel 1 ·
Agregá sucursal al GROUP BY. Pero ojo: si un vendedor vendió en dos sucursales, vas a tener dos filas para ese vendedor, una por sucursal. Si querés una sola fila por vendedor, sacá sucursal del SELECT.
Benja75
Nivel 3 ·
Postgres solo te deja omitirla cuando agrupás por la clave primaria de la tabla de donde sale la columna (dependencia funcional). Acá no aplica.
Patricia P.
Nivel 3 ·
MySQL viejo lo permitía y devolvía un valor cualquiera del grupo. Desde la 5.7 viene activado ONLY_FULL_GROUP_BY por defecto y también da error. Si te andaba, tu servidor tiene ese modo desactivado.
Alejandro
Nivel 3 ·
Efectivamente, el servidor viejo tenía el modo desactivado. Y sí, había vendedores en dos sucursales, así que me estaba mostrando datos medio inventados. Gracias.