CodeGym /Corsi /SQL SELF /Introduzione alle funzioni aggregate

Introduzione alle funzioni aggregate

SQL SELF
Livello 7 , Lezione 0
Disponibile

Le funzioni aggregate... Queste cose sono dei veri maghi nel mondo dell'analisi dei dati! Ti permettono di trasformare milioni di righe di dati in risultati compatti e chiari. Con loro puoi contare, trovare minimi e massimi, calcolare medie e fare un sacco di altre operazioni. Ok, ora vediamo tutto step by step.

Le funzioni aggregate sono funzioni speciali di SQL che fanno operazioni su gruppi di righe e restituiscono un solo risultato. Se vuoi un paragone, è come raccogliere tutte le statistiche sul tuo caffè mattutino, tipo: quante tazze hai bevuto in una settimana, se hai aggiunto zucchero o per quanti giorni di fila hai messo la panna.

Esempi di problemi che risolvono le funzioni aggregate:

  • Contare il numero totale di record in una tabella.
  • Trovare i valori minimi o massimi in una colonna numerica.
  • Sommare i valori in una delle colonne.
  • Calcolare la media di tutti i valori di una colonna.
  • Selezionare i valori unici.

Come funziona "sotto il cofano"?

SQL esegue una funzione aggregata dopo aver selezionato i dati con SELECT. Per esempio, quando scrivi SUM() o AVG(), SQL prima raccoglie i dati e poi fa il calcolo solo sulle righe selezionate.

Le principali funzioni aggregate in PostgreSQL

Passiamo subito alla pratica e vediamo la top 5 dei nostri eroi:

  1. COUNT() — conta il numero di righe.
  2. SUM() — somma i valori di una colonna numerica.
  3. AVG() — calcola il valore medio.
  4. MIN() — trova il valore minimo.
  5. MAX() — trova il valore massimo.

Esempi di utilizzo delle funzioni aggregate

  1. Contare le righe con COUNT()

La funzione COUNT() ti permette di contare il numero totale di righe in una tabella o il numero di valori non vuoti in una colonna specifica.

Esempio: supponiamo di avere una tabella students che contiene info sugli studenti:

id name age grade
1 Otto Art 20 85
2 Maria Chi 22 90
3 Alex Lin 21 78
4 Anna Song 23 NULL

Contiamo il numero totale di studenti:

SELECT 
    COUNT(*) AS totale_studenti
FROM students;

Risultato:

totale_studenti
4

Ora contiamo quanti studenti hanno il grade indicato:

SELECT 
    COUNT(grade) AS studenti_con_voto
FROM students;

Risultato:

studenti_con_voto
3

Perché succede questo? Perché COUNT(column) ignora i valori NULL.

  1. Somma con SUM()

La funzione SUM() si usa per sommare tutti i valori in una colonna numerica.

Esempio: vediamo quanti punti totali hanno preso i nostri studenti.

SELECT 
    SUM(grade) AS totale_voti
FROM students;

Risultato:

totale_voti
253

Nota: Se nella colonna c'è NULL, viene semplicemente ignorato nella somma.

  1. Valore medio con AVG()

La funzione AVG() calcola la media di tutti i valori numerici nella colonna.

Esempio: calcoliamo la media dei voti degli studenti.

SELECT 
    AVG(grade) AS media_voti
FROM students;

Risultato:

media_voti
84.33

Hai notato che NULL viene di nuovo ignorato.

  1. Minimo e massimo con MIN() e MAX()

A volte serve trovare il valore più piccolo o più grande. Per questo ci sono MIN() e MAX().

Esempio: Troviamo lo studente più giovane e quello più vecchio.

SELECT 
    MIN(age) AS studente_piu_giovane, 
    MAX(age) AS studente_piu_vecchio
FROM students;

Risultato:

studente_piu_giovane studente_piu_vecchio
20 23

Parleremo di più su queste funzioni nelle prossime lezioni.

Incontriamo NULL

Su NULL ci sarà una lezione a parte, ma in breve, NULL è l'assenza di un valore. Niente. Vuoto. Zero, proprio così!

Supponiamo di avere una tabella students che contiene info sugli studenti:

id name age grade hobbie
1 Otto Art 20 85
2 Maria Chi 22 90 Danza
3 Alex Lin 21 78
4 Anna Song 23

Nome e età ci sono sempre, ma voto e hobby possono mancare. Se in una cella della tabella non c'è proprio nessun valore, si dice che contiene NULL. NULL non è un numero e nemmeno una stringa, è un codice speciale che indica l'assenza di qualsiasi valore.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION