Problema:
Vorresti trovare il valore numerico più piccolo in una colonna.
Esempio:
Il nostro database ha una tabella denominata employment
con i dati nelle seguenti colonne:id
, first_name
, last_name
, department
e salary
.
id | nome | cognome | reparto | stipendio |
---|---|---|---|---|
1 | Elli | Martin | marketing | 1200 |
2 | Martin | Johnson | finanza | 2300 |
3 | Michele | Giacobbe | produzione | 1100 |
4 | Stefano | Kowalski | marketing | 4300 |
5 | Stanley | Mugnaio | marketing | 3500 |
6 | Jen | Marrone | finanza | 5000 |
7 | Margherita | Verde | marketing | 1500 |
8 | Lisa | Tommaso | produzione | 2800 |
Troviamo lo stipendio più basso tra tutti i dipendenti.
Soluzione:
SELECT MIN(salary) as min_salary FROM employment;
Ecco il risultato:
salario_minimo |
---|
1100 |
Discussione:
Per trovare il valore minimo di una colonna, usa MIN()
funzione aggregata; prende come argomento il nome della colonna di cui si vuole trovare il valore minimo. Se non hai specificato altre colonne in SELECT
clausola, il minimo verrà calcolato per tutti i record nella tabella. Nel nostro esempio, la query restituisce lo stipendio minimo tra tutti i dipendenti.
Naturalmente, poiché è una funzione aggregata, MIN()
può essere utilizzato anche con i gruppi. Ad esempio, se desideriamo trovare lo stipendio minimo per ogni dipartimento, possiamo scrivere questa query:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Questa query restituisce lo stipendio minimo per ogni reparto:
dipartimento | salario_minimo |
---|---|
marketing | 1200 |
finanza | 2300 |
produzione | 1100 |