Guías SQL

Proyecto SQL para principiantes: analizar ventas paso a paso

La responsable de una tienda pregunta qué ciudad genera más ingresos por ventas. Antes de construir un informe, definamos el alcance, lo que representa cada fila y cómo comprobar el total.

Este ejemplo gratuito utiliza seis ventas ficticias en euros. Cada fila es una venta finalizada; las cancelaciones, devoluciones e impuestos quedan fuera del alcance. Introduce el método del proyecto guiado, que tiene su propio conjunto de datos.

1. Comprender los datos antes de la consulta

sale_id identifica la venta; city indica la ciudad; channel distingue la tienda (store) de la web (online); amount contiene el importe en euros. El identificador único permite comprobar que una venta no se cuenta dos veces.

Datos ficticios del ejemplo — sales (EUR)
sale_idcitychannelamount
1Parisstore120
2Lyononline80
3Parisonline180
4Lillestore50
5Lyonstore100
6Lilleonline70

2. Transformar la pregunta en pasos

  1. Parte de la tabla sales: cada fila representa una venta.
  2. Agrupa por city para obtener una fila por ciudad.
  3. Suma amount con SUM para calcular los ingresos.
  4. Ordena desde el importe más alto al más bajo.

3. Ejecutar el primer análisis SQL

Dialecto: PostgreSQL. SELECT, SUM, GROUP BY y ORDER BY son ampliamente compartidos entre motores SQL.

Consulta para probar
SELECT city, SUM(amount) AS revenue
FROM sales
GROUP BY city
ORDER BY revenue DESC, city;

Entorno SQL en el navegador

3. Ejecutar el primer análisis SQL

Ejecuta una consulta de lectura sobre los datos ficticios de este ejercicio. No se envía nada a SQL.tn.

Local y privado
Atajo: Ctrl/⌘ + Intro
El entorno SQL se preparará cuando ejecutes la consulta por primera vez.

4. Comprobar el resultado antes de concluir

París suma 300 €, Lyon 180 € y Lille 120 €. El total es 600 €, igual que el de las seis ventas. Cada ciudad tiene dos ventas: COUNT(*) mediría su número, no los ingresos.

5. Amplía tu análisis

Conserva solo el canal online. Coloca el filtro antes de GROUP BY. El total debe ser 330 €: París 180 €, Lyon 80 € y Lille 70 €. Explica cómo has cambiado el alcance.

Una pista

Añade WHERE channel = 'online' entre FROM sales y GROUP BY city.

Continúa en el proyecto guiado

Has practicado la lectura, agrupación y comprobación de un resultado. Crea una cuenta gratuita para realizar las misiones del proyecto de ventas y guardar tu progreso. Este ejemplo no completa automáticamente ninguna misión del proyecto.