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