Agregado de datos en una tabla
Una vez más nos encontramos en los senderos del conocimiento amigos y amigas, sean todos bienvenidos.
Una de las grandes utilidades que podemos encontrar en una base de datos relacional es el agregado de datos, dado que podemos crear una columna, sin necesidad de que esta se encuentre “físicamente” en alguna de las tablas de nuestra base de datos.
¿Para qué podría servir algo como lo que acabamos de mencionar? Supongamos el caso hipotético de una tienda en la que hay clientes muy importantes en nuestra base, que mes a mes compran productos. Supongamos ahora que uno de los reportes que nuestra aplicación genera gracias al motor de base de datos es un reporte de las órdenes puestas por nuestros clientes muy importantes. Si tuviésemos una columna de TOTAL tendríamos que duplicar la información (o al menos hacer una fila diferente con un valor sumado cada vez que el cliente importante hiciese una compra). Para evitar este trabajo innecesario, podríamos hacer un agregado de datos que hiciese la suma de todos los datos de la columna, con base a una consulta en la que pidamos los nombres de los clientes y sus compras hasta el momento.
Con el agregado de datos, necesitamos presentar una de las muchas FUNCIONES que tiene MySQL (difícilmente las veamos todas en este curso, pero presentaremos las más importantes y significativas conforme avancemos), hablamos de la función SUM, la cual devuelve la suma de una expresión. Claro que la función SUM no es la única que podríamos presentar aquí, pero es la que más se adapta a las necesidades del ejemplo.
SELECT columna1, SUM(columna2) FROM tabla1 GROUP BY columna1;
Lo que le estamos diciendo a MySQL en la sentencia anterior es SELECCIONE la columna1 y la suma de la columna2 DE la tabla1 AGRUPADO CON BASE A la columna1.
Algo que no puede olvidársenos cuando hacemos un agregado de datos, es que DEBEMOS incluir la sentencia GROUP BY (por cierto, GROUP BY, te presento a unos amigos y amigas, amigos y amigas,…GROUP BY) Esta sentencia, como su mismo nombre lo indica, agrupa valores en una consulta con base a un criterio (en nuestro fabuloso ejemplo el criterio sería la columna1). La sentencia GROUP BY, no sólo puede utilizarse en un agregado de datos, sino también en una consulta común y silvestre como las que ya hemos visto.
Antes de ver nuestro vídeo, los dejamos con algunas de las funciones MySQL más utilizadas:
MIN Devuelve el valor mínimo de una expresión
MAX Devuelve el valor máximo de una expresión
COUNT Devuelve el número de valores distintos de NULL en las filas recuperadas por una sentencia SELECT
AVG Devuelve el valor medio
ADDDATE Suma un intervalo de tiempo a una fecha
ADDTIME Suma tiempos
Existen muchas otras funciones, de las cuales algunas utilizaremos en este curso.
Y ahora, nuestro vídeo:
[Objeto Flash Eliminado]
Esto es agregado de datos en MySQL, por favor practíquenlo mucho, ya que será su salvavidas en más de una ocasión. Hasta Pronto.