martedì 11 novembre 2025

Corso di SQL: 5 – Funzioni e Operazioni su Dati

5 – Funzioni e Operazioni su Dati

Funzioni di aggregazione:

  • COUNT(): conta il numero di righe.
  • SUM(): calcola la somma.
  • AVG(): media aritmetica.
  • MIN(): valore minimo.
  • MAX(): valore massimo.

-- Esempio: calcolare il totale e la media delle vendite
SELECT 
    SUM(importo) AS TotaleVendite,
    AVG(importo) AS MediaVendite,
    MIN(importo) AS VenditaMin,
    MAX(importo) AS VenditaMax,
    COUNT(*) AS NumeroOrdini
FROM vendite;
  

Raggruppamento con GROUP BY:

Permette di aggregare i dati per categorie.


-- Vendite per ogni mese
SELECT 
    MONTH(data) AS Mese,
    SUM(importo) AS TotaleMensile
FROM vendite
GROUP BY MONTH(data);
  

Filtraggio con HAVING:

Simile a WHERE, ma usato dopo l'aggregazione.


-- Mostra solo i mesi con vendite totali superiori a 10.000
SELECT 
    MONTH(data) AS Mese,
    SUM(importo) AS TotaleMensile
FROM vendite
GROUP BY MONTH(data)
HAVING SUM(importo) > 10000;
  

Funzioni su stringhe e date:

  • UPPER(), LOWER(): maiuscole/minuscole.
  • CONCAT(): concatenazione di stringhe.
  • LENGTH(): lunghezza stringa.
  • NOW(), DATE(), YEAR(), MONTH(): gestione date.

-- Estrarre l'anno e mese da una data
SELECT 
    YEAR(data) AS Anno,
    MONTH(data) AS Mese,
    CONCAT(UPPER(cliente), ' - ', LOWER(prodotto)) AS Info
FROM vendite;
  

📝 Esercizio

Obiettivo: Creare un report delle vendite mensili con totale e media.


-- Report vendite mensili
SELECT 
    YEAR(data) AS Anno,
    MONTH(data) AS Mese,
    SUM(importo) AS TotaleMensile,
    AVG(importo) AS MediaMensile,
    COUNT(*) AS NumeroOrdini
FROM vendite
GROUP BY YEAR(data), MONTH(data)
ORDER BY Anno, Mese;
  

Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...