MySQL - GroupBy complicado

 
Vista:

GroupBy complicado

Publicado por Ricardo (3 intervenciones) el 04/06/2019 00:52:43
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 ocurrencias 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder