SQL Inicial · Lección 4 de 5

Contar, sumar y agrupar

Hasta ahora sacaste listas. Ahora vas a sacar números: cuántos, cuánto en total, cuánto en promedio. Y con GROUP BY, el mismo número para cada categoría, como una tabla dinámica.

7 minutos
ΣCOUNT 12

De muchas filas a una respuesta

Las funciones de agregación toman muchas filas y devuelven un solo valor. Son las preguntas de todos los días: cuántos clientes tenemos, cuánto vendimos, cuál es el precio promedio. Van en el SELECT, con la columna entre paréntesis.

FunciónQué haceEjemplo
COUNT(*)cuenta filas¿Cuántos productos hay? → 12
SUM(stock)suma una columna¿Cuántas unidades hay en total?
AVG(precio)saca el promedio¿Cuánto cuesta un producto en promedio?
MAX / MINel mayor y el menor¿Cuál es el precio más alto?

Se combinan con todo lo que ya sabés. Esta consulta responde "¿cuántos productos hay que reponer?":

SELECT  COUNT(*)
FROM productos
WHERE stock < 10;

Y con AS le ponés un nombre claro a la columna del resultado:

SELECT  AVG(precio) AS precio_promedio
FROM productos;

¿Y si quiero el número de cada categoría?

Para eso está GROUP BY. Arma un grupo por cada valor distinto de la columna y calcula la función dentro de cada grupo. Es lo mismo que hace una tabla dinámica en una planilla, pero escrito.

SELECT  categoria,
        COUNT(*) AS productos
FROM productos
GROUP BY categoria;
Paso a pasosepara las filas por categoría→cuenta en cada grupo→una fila por categoría

Una regla para no equivocarte: toda columna del SELECT que no esté dentro de una función tiene que estar en el GROUP BY. Si pedís categoria y COUNT(*), agrupás por categoria. Y si querés ordenar el resultado, el ORDER BY va después del GROUP BY.

Actividad 1

¿Qué función responde cada pregunta?

¿Qué función usarías para responder cada pregunta? Tocá una tarjeta y después la función, o arrastrala.

COUNT

cuenta filas

SUM

suma valores

AVG

saca el promedio

MAX / MIN

el mayor o el menor

Actividad 2

Los números del almacén

Cuatro preguntas, de la más simple a la más completa. Usá los ejemplos de arriba como guía y, antes de escribir, ubicate: mirá qué columnas tiene la tabla y abrí la tabla completa.

Columnas de productos:idINTEGERnombreTEXTcategoriaTEXTprecioREALstockINTEGER
  1. 1¿Cuántos productos hay en la tabla productos?
  2. 2¿Cuántas unidades hay en stock en total, sumando todos los productos?
  3. 3Mostrá cada categoria con la cantidad de productos que tiene.
  4. 4Mostrá cada categoria con su precio promedio, de la más cara a la más barata.

Tu misión, la tabla completa, los mensajes y la ayuda están en el panel de la izquierda.

almacen.dbproductosclientesventas
o Ctrl + Enter

Tocá Ejecutar para ver el resultado.

Chequeo rápido

¿Qué devuelve esta consulta?

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

Pedile a la IA que te explique un resultado

Un número suelto puede engañar. Antes de llevarlo a una reunión, pedile a Gemini que te ayude a interpretarlo. Copiá este pedido y cambiá lo que está entre corchetes:

Corrí esta consulta: [pegá tu consulta]. Me dio este resultado: [pegá la tabla]. ¿Cómo lo explicarías en dos oraciones para mi equipo? ¿Qué otra pregunta me conviene hacerle a los datos?

Pegá solo resultados resumidos, nunca datos personales de clientes.

Para llevarte: COUNT, SUM, AVG, MAX y MIN resumen muchas filas en un número. Con GROUP BY obtenés ese número para cada grupo, como en una tabla dinámica.

Ya resumís datos como un analista

¿Listo para la próxima lección?