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.
| sale_id | city | channel | amount |
|---|---|---|---|
| 1 | Paris | store | 120 |
| 2 | Lyon | online | 80 |
| 3 | Paris | online | 180 |
| 4 | Lille | store | 50 |
| 5 | Lyon | store | 100 |
| 6 | Lille | online | 70 |
2. Transformar la pregunta en pasos
- Parte de la tabla sales: cada fila representa una venta.
- Agrupa por city para obtener una fila por ciudad.
- Suma amount con SUM para calcular los ingresos.
- 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.
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.
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.