Vai al contenuto
eLearner.app
Modulo 2 · Lezione 4 di 48/57 nel corso~8 min
Lezioni del modulo (4/4)

Contare e riassumere: COUNT, AVG, MAX

Finora ogni SELECT restituiva una riga per ogni riga della tabella. Le funzioni di aggregazione fanno l'opposto: leggono molte righe e restituiscono un solo valore che le riassume.

Le tre più usate sono:

  • COUNT(*) — quante righe ci sono.
  • AVG(colonna) — la media dei valori numerici (ignora i NULL).
  • MAX(colonna) / MIN(colonna) — il valore massimo / minimo.
  • SUM(colonna) — la somma dei valori numerici.
SQL
SELECT COUNT(*),
       AVG(salary),
       MAX(salary)
FROM employees;

Quando l'aggregato è applicato all'intera tabella (senza GROUP BY, che vedrai nel prossimo modulo) il risultato è una sola riga, indipendentemente da quante righe ha la tabella di partenza.

Combinare con WHERE

WHERE filtra prima dell'aggregazione: l'aggregato lavora solo sulle righe che hanno superato il filtro.

SQL
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;

Prova tu

Esercizio#sql.m2.l4.e1
Tentativi: 0Caricamento…

Quanti dipendenti sono stati assunti dal 1° gennaio 2020 in poi? Restituisci un singolo numero (una riga, una colonna).

Caricamento editor…
Mostra suggerimento

La funzione che conta le righe è COUNT(*).

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#sql.m2.l4.e2
Tentativi: 0Caricamento…

Calcola in un'unica query lo stipendio medio (AVG) e quello massimo (MAX) dei dipendenti del Marketing (department_id = 3). Una riga, due colonne.

Caricamento editor…
Mostra suggerimento

Puoi mettere più funzioni di aggregazione nella stessa SELECT, separate da virgola.

Soluzione disponibile dopo 3 tentativi