Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Group by complicado

Estas en el tema de Group by complicado en el foro de Mysql en Foros del Web. No logro resolver un select que parece sencillo a primera vista. Tengo la siguiente tabla ejemplo donde código y descripción no son de interés: gran_categoria, ...
  #1 (permalink)  
Antiguo 30/05/2019, 08:51
Avatar de rlc
rlc
 
Fecha de Ingreso: enero-2012
Mensajes: 20
Antigüedad: 7 años, 7 meses
Puntos: 0
Group by complicado

No logro resolver un select que parece sencillo a primera vista. Tengo la siguiente tabla ejemplo donde código y descripción no son de interés:

gran_categoria, categoría, código, descripcion
200 20005 1 aqaq
200 20001 2 sadsa
200 20001 3 dasd
200 20005 4 sadsa
200 20005 5 asdsad
300 30002 6 hjjj
300 30005 7 gfhgf
300 30008 8 hlll
300 30005 9 we
300 30002 10 gfhf
300 30002 16 sad asd sad
300 30002 11 gfhf
400 40001 12 cvbcvbtr
400 40005 13 434fgfd
400 40003 14 cvbcvbtr
400 40001 15 trytry
400 40001 20 ioiiu
400 40001 25 hjjj
400 40003 29 trytry
400 40002 30 bnbvn
400 40001 32 wwwtry

Y debo llegar a la siguiente tabla resultado:

suma_de_gran_categoria, gran_categoria, suma_de_categoria, categoria
9 400 5 40001
9 400 2 40003
9 400 1 40002
9 400 1 40005
7 300 4 30002
7 300 2 30005
7 300 1 30008
5 200 3 20005
5 200 2 20001

Es decir, el resultado debe ser el agrupamiento de la suma de gran categoría y dentro de ella de sus categorías, y ordenado por la gran categoria de mayor peso y dentro de ella por sus categorías de mayor peso (creo que el ordenamiento no seria el problema)
No logro resolverlo en un solo paso, sin crear cursores temporales, lo cual seria mortal para la perfomance!
Agradezco cualquier ayuda que me puedan brindar



La zona horaria es GMT -6. Ahora son las 13:53.