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 |