Logo
You
Code

Rollup Mysql

Autor novacreations.net - http://www.youcode.com.ar/mysql/rollup-mysql-43

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:


tabla1.png


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.


tabla2a.png


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


tabla2.png


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


tabla3.png

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://www.youcode.com.ar/mysql/rollup-mysql-43