Questo esempio gratuito usa sei vendite fittizie in euro. Ogni riga è una vendita conclusa; annullamenti, rimborsi e imposte sono fuori dal perimetro. Introduce il metodo del progetto guidato, che usa un proprio dataset.
1. Comprendere i dati prima della query
sale_id identifica la vendita; city indica la città; channel distingue il negozio (store) dal sito (online); amount contiene il valore in euro. L’identificativo univoco permette di controllare che una vendita non venga contata due volte.
| 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. Trasformare la domanda in passaggi
- Parti dalla tabella sales: una riga rappresenta una vendita.
- Raggruppa per city per ottenere una riga per città.
- Somma amount con SUM per calcolare i ricavi.
- Ordina dal ricavo più alto al più basso.
3. Eseguire la prima analisi SQL
Dialetto: PostgreSQL. SELECT, SUM, GROUP BY e ORDER BY sono ampiamente condivisi dai motori SQL.
SELECT city, SUM(amount) AS revenue
FROM sales
GROUP BY city
ORDER BY revenue DESC, city;Ambiente SQL nel browser
3. Eseguire la prima analisi SQL
Esegui una query di lettura sui dati fittizi di questo esercizio. Nulla viene inviato a SQL.tn.
4. Verificare il risultato prima di concludere
Parigi totalizza 300 €, Lione 180 € e Lille 120 €. La somma è 600 €, come quella delle sei vendite. Ogni città ha due vendite: COUNT(*) ne misurerebbe il numero, non i ricavi.
5. Ampliare l’analisi
Conserva solo il canale online. Inserisci il filtro prima di GROUP BY. Il totale deve diventare 330 €: Parigi 180 €, Lione 80 € e Lille 70 €. Spiega come hai modificato il perimetro.
Un indizio
Aggiungi WHERE channel = 'online' tra FROM sales e GROUP BY city.
Continua nel progetto guidato
Hai esercitato lettura, raggruppamento e controllo di un risultato. Crea un account gratuito per svolgere le missioni del progetto vendite e salvare i progressi. Questo esempio non completa automaticamente le missioni del progetto.