IOKELU
Nivel: Basico
💡 Prueba las consultas:
Puedes ejecutar cualquier consulta SQL en nuestra consola interactiva: Abrir consola SQL →

COUNT, SUM y AVG en SQL: funciones de agregación esenciales

SQL incluye funciones de agregación que permiten obtener información resumida de una tabla. Las más utilizadas son COUNT, SUM y AVG. En esta guía aprenderás cómo usarlas correctamente con ejemplos y ejercicios.

1. COUNT

COUNT devuelve el número de filas.


SELECT COUNT(*) FROM usuarios;
    

También puedes contar solo filas que cumplan una condición:


SELECT COUNT(*) FROM usuarios
WHERE edad > 18;
    

2. SUM

SUM calcula la suma de una columna numérica.


SELECT SUM(precio) FROM productos;
    

3. AVG

AVG calcula el promedio de una columna numérica.


SELECT AVG(edad) FROM usuarios;
    

4. Combinación con WHERE


SELECT SUM(precio) FROM productos
WHERE categoria = 'Ropa';
    

SELECT AVG(edad) FROM usuarios
WHERE ciudad = 'Madrid';
    

5. Combinación con GROUP BY

GROUP BY permite agrupar resultados antes de aplicar funciones de agregación.


SELECT ciudad, COUNT(*) FROM usuarios
GROUP BY ciudad;
    

SELECT categoria, SUM(precio) FROM productos
GROUP BY categoria;
    

6. Ejemplos prácticos


SELECT COUNT(*) FROM empleados;
SELECT SUM(salario) FROM empleados;
SELECT AVG(salario) FROM empleados;
SELECT departamento, COUNT(*) FROM empleados GROUP BY departamento;
SELECT departamento, AVG(salario) FROM empleados GROUP BY departamento;
    

7. Ejercicios para practicar

8. Mini‑proyecto: Estadísticas de ventas


CREATE TABLE ventas (
    id INT PRIMARY KEY,
    producto VARCHAR(50),
    precio DECIMAL(10,2),
    categoria VARCHAR(50)
);

INSERT INTO ventas VALUES (1, 'Camiseta', 19.99, 'Ropa');
INSERT INTO ventas VALUES (2, 'Pantalón', 29.99, 'Ropa');
INSERT INTO ventas VALUES (3, 'Auriculares', 49.99, 'Electrónica');

SELECT categoria, COUNT(*) AS total_productos,
       SUM(precio) AS suma_precios,
       AVG(precio) AS precio_promedio
FROM ventas
GROUP BY categoria;
    

9. Errores comunes

10. Preguntas frecuentes

¿COUNT cuenta valores nulos?

COUNT(*) sí, COUNT(columna) no.

¿SUM y AVG funcionan con decimales?

Sí, funcionan perfectamente con DECIMAL y FLOAT.


Siguiente guía

SQL Básico – GROUP BY →