Mysql: Modificador ROLLUP para consultas agregadas
Posted on March 18th, 2009 in ArtÃculos, Base de Datos, Programación, mysql | No Comments »
MySQL cuenta con un modificador para las consultas agregadas (Group by) que nos puede resultar muy útil en la generación de nuestros reportes. El modificador ROLLUP añade algunas filas adicionales a los resultados generados. Estas filas representan operaciones de agregación de mayor nivel, es decir que nos permite agregar los resultados ya agregados.
Por ejemplo, digamos que tenemos una tabla con la siguiente estructura:

Si ejecutamos un Query agregado, por ejemplo
select categoria, sum(ventas) from tabla Group by categoria
Nos arroja el siguiente resultado que es la suma de todas las ventas por categorÃa de producto.

Al añadir el ROLLUP MySQL agrega una fila con la sumatoria total de todas las categorÃas.
select categoria, sum(ventas) from tabla Group by categoria with rollup

Al añadir mas columnas al group by y cuando existe un cambio de valor, la consulta regresa una fila adicional con los valores agregados. Por ejemplo en nuestra consulta anterior podemos solicitar que nos regrese el valor de la sumatoria por paÃs.
select pais,categoria, sum(ventas) from tabla Group by pais,categoria

Esta función resulta muy útil al momento de efectuar reportes o al ser incorporada en Procesamiento AnalÃtico de datos.
Revisa la documentación para conocer mas detalles y ejemplos de esta función.
http://dev.mysql.com/doc/refman/5.0/es/group-by-modifiers.html


