COUNT, SUM, AVG, MIN, MAX
Usi le cinque principali funzioni di aggregazione, comprenda COUNT(*) rispetto a COUNT(column) e sappia come ciascuna tratta i NULL
COUNT, SUM, AVG, MIN, MAX è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.
Cosa fanno le aggregazioni
Una funzione di aggregazione riduce molte righe a un unico valore. Esempi: ricavi totali, valutazione media, data massima.
COUNT
Conta le righe. Esistono due varianti:
SELECT COUNT(*) FROM users; -- counts ALL rows
SELECT COUNT(email) FROM users; -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users; -- distinct non-NULL countriesSUM
Somma i valori di una colonna numerica. I valori NULL vengono ignorati:
SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;AVG
Calcola la media aritmetica. I valori NULL vengono ignorati, quindi AVG(x) equivale a SUM(x)/COUNT(x), non a SUM(x)/COUNT(*):
SELECT AVG(rating) FROM reviews;MIN e MAX
Il valore non NULL più piccolo e quello più grande. Funziona con numeri, date, stringhe e qualsiasi altro valore confrontabile:
SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users; -- alphabeticAggregazioni e NULL
Tutte le aggregazioni, eccetto COUNT(*), ignorano gli input NULL. AVG, SUM, MIN e MAX restituiscono NULL quando non esistono input non NULL.
-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews; -- NULLCombinare le aggregazioni
Più aggregazioni in un'unica query: tutte vedono lo stesso gruppo:
SELECT COUNT(*) AS orders,
SUM(total) AS revenue,
AVG(total) AS avg_order,
MIN(total) AS smallest,
MAX(total) AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';DISTINCT nelle aggregazioni
Applichi DISTINCT prima dell'aggregazione:
SELECT COUNT(DISTINCT user_id) AS unique_buyers,
SUM(DISTINCT total) AS sum_of_distinct_totals
FROM orders;Aggregazioni senza GROUP BY
Quando si utilizza un'aggregazione senza GROUP BY, l'intero insieme di risultati costituisce un unico grande gruppo: si ottiene una sola riga.
Filtrare prima dell'aggregazione
WHERE restringe le righe di input prima che vengano aggregate:
-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;Clausola FILTER (PostgreSQL)
Aggiunga filtri specifici per ogni aggregazione con la clausola FILTER:
SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'paid') AS paid_orders,
SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;Riepilogo
Le cinque aggregazioni fondamentali: COUNT, SUM, AVG, MIN, MAX.
- COUNT(*) conta le righe; COUNT(col) ignora NULL
- Le altre aggregazioni ignorano gli input NULL
- Le combini con WHERE / FILTER per le aggregazioni condizionali
Verifica rapida
Supponga che rating sia NULL per 100 righe su 500. Per quale valore divide AVG(rating)?
Domande Frequenti
La lezione «COUNT, SUM, AVG, MIN, MAX» è gratuita?
Sì — il testo completo di «COUNT, SUM, AVG, MIN, MAX» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.
Cosa imparerò in «COUNT, SUM, AVG, MIN, MAX»?
Usi le cinque principali funzioni di aggregazione, comprenda COUNT(*) rispetto a COUNT(column) e sappia come ciascuna tratta i NULL Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SQL Academy?
Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «COUNT, SUM, AVG, MIN, MAX»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SQL Academy?
Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY con una o più colonne
- HAVING rispetto a WHERE
- Problemi comuni: i NULL nelle aggregazioni