lezione 03

aggregazioni e group by

metriche, count, sum, avg e having.

livello: base durata: 14 min output: report badge: aggregation

count

select count(*) as totale
from ordini;

sum/avg

select avg(totale) as media
from ordini;

group by

select stato, count(*)
from ordini
group by stato;

having

select stato, count(*) as totale
from ordini
group by stato
having count(*) > 5;

panoramica

In questo capitolo su aggregazioni e group by, metriche, count, sum, avg e having. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.

Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).

badge: aggregation

obiettivi

  • capire e applicare count in uno scenario reale
  • capire e applicare sum/avg in uno scenario reale
  • capire e applicare group by in uno scenario reale
  • capire e applicare having in uno scenario reale

scheda rapida

SELECT categoria, COUNT(*) AS tot
FROM prodotti
WHERE attivo = TRUE
GROUP BY categoria
ORDER BY tot DESC
LIMIT 5;

Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.

tips

  • usa alias chiari
  • filtra presto con WHERE
  • controlla i piani di esecuzione
  • usa GROUP BY con attenzione
  • metti filtri aggregati in HAVING
  • controlla i NULL

tip: Se la media sembra strana, controlla prima i NULL.

mini progetto

KPI mensili per team.

  • group by mese
  • calcola SUM/AVG
  • aggiungi HAVING
  • ordina per performance

output atteso: uno script o query ripetibile con risultati verificabili.

checklist

  • ho eseguito gli snippet e controllato l'output
  • ho annotato almeno 2 trade-off
  • ho completato il mini progetto
  • ho salvato un riepilogo personale
start a brief