Funciones que Resumen Datos
Las funciones de agregado permiten realizar calculos sobre conjuntos de datos. Son esenciales para el analisis y la generacion de informes.
COUNT: Contar Registros
La funcion mas basica cuenta el numero de registros:
-- Contar todos los clientes
SELECT COUNT(*) FROM clientes;
-- Contar clientes unicos en una columna
SELECT COUNT(DISTINCT ciudad) FROM clientes;SUM y AVG: Sumas y Promedios
-- Suma total de ventas
SELECT SUM(monto) FROM ventas;
-- Promedio de precios
SELECT AVG(precio) FROM productos;MAX y MIN: Valores Extremos
-- Producto mas caro
SELECT MAX(precio) FROM productos;
-- Cliente mas joven
SELECT MIN(edad) FROM clientes;GROUP BY: Agrupando Resultados
GROUP BY divide los resultados en grupos para aplicar funciones de agregado:
-- Ventas por categoria
SELECT categoria, SUM(stock) as total_stock
FROM productos
GROUP BY categoria;HAVING: Filtrando Grupos
HAVING filtra despues de grouping (mientras WHERE filtra antes):
-- Categorias con mas de 100 productos
SELECT categoria, COUNT(*) as total
FROM productos
GROUP BY categoria
HAVING COUNT(*) > 100;Ejemplo Completo
SELECT
DATE_FORMAT(fecha_venta, %Y-%m) as mes,
COUNT(*) as num_ventas,
SUM(monto) as total_ventas,
AVG(monto) as promedio_venta
FROM ventas
WHERE estado = completada
GROUP BY DATE_FORMAT(fecha_venta, %Y-%m)
ORDER BY mes DESC;