Hola de nuevo patiurco:
Antes que nada me da gusto que hayas podido obtener la consulta por tu propia cuenta, como te habrás dado cuenta no era muy difícil de obtener.
El error que mencionas, tal como lo infieres correctamente, se debe a que cuando colocas un campo en el SELECT que no forme parte de una función de agregación DEBE DE IR SIEMPRE EN EL GROUP BY. Si quieres incluir algún otro campo a tu select deberás incluirlo también en el GROUP BY aquí te dejo algunos ejemplos de selects correctos e incorrectos para ver si se entiende el porqué del error.
Código:
SELECT SUM(campo) FROM tabla
-> CORRECTO, porque no existe ningún campo sin funciones de agregación (COUNT, MIN, MAX, AVG, etc)
Código:
SELECT id, SUM(campo) FROM tabla GROUP BY id
-> CORRECTO: ya que id es un campo que no tiene asociada una función de agregación
Código:
SELECT SUM(campo) FROM table GROUP BY id
-->CORRECTO: En el select no existen campos sin función de agregación, pero si puedes usarlo en el GROUP BY
Código:
SELECT id, descripcion, SUM(campo) FROM tabla GROUP BY id
--
INCORRECTO: este creo que era más o menos tu caso, en el select el campo descripcion no tiene asociada ninguna función de agregacion por lo tanto se debe incluir en el GROUP BY.
Código:
SELECT id, descripcion, SUM(campo) FROM tabla GROUP BY id, descripcion
--
CORRECTO: es finalmente como quedó tu consulta, agrupando por todos los campos que utilizas en el SELECT que no tengan función de agrupación.
Código:
SELECT id, MIN(descripcion), SUM(campo) FROM tabla GROUP BY id
--
CORRECTO: a diferencia del ejemplo anterior el campo descripción SI TIENE ASOCIADA una función de agrupación, por lo tanto no es necesario que se incluya en el GROUP BY.
Hay algunas otras combinaciones, pero creo que con estos casos queda claro el por qué del error que te estaba marcando...
Saludos
Leo