Problem:
Du vill hitta det minsta numeriska värdet i en kolumn.
Exempel:
Vår databas har en tabell som heter employment
med data i följande kolumner:id
, first_name
, last_name
, department
och salary
.
id | förnamn | efternamn | avdelning | lön |
---|---|---|---|---|
1 | Ellie | Martines | marknadsföring | 1200 |
2 | Martin | Johnson | ekonomi | 2300 |
3 | Michael | Jacobs | produktion | 1100 |
4 | Stephen | Kowalski | marknadsföring | 4300 |
5 | Stanley | Miller | marknadsföring | 3500 |
6 | Jeny | Brun | ekonomi | 5000 |
7 | Margaret | Grön | marknadsföring | 1500 |
8 | Lisa | Thomas | produktion | 2800 |
Låt oss hitta den lägsta lönen bland alla anställda.
Lösning:
SELECT MIN(salary) as min_salary FROM employment;
Här är resultatet:
min_lön |
---|
1100 |
Diskussion:
För att hitta minimivärdet för en kolumn, använd MIN()
aggregerad funktion; det tar som argument namnet på den kolumn som du vill hitta minimivärdet för. Om du inte har angett några andra kolumner i SELECT
klausul, kommer minimum att beräknas för alla poster i tabellen. I vårt exempel returnerar frågan minimilönen bland alla anställda.
Naturligtvis, eftersom det är en aggregerad funktion, MIN()
kan även användas med grupper. Om vi till exempel vill hitta minimilönen för varje avdelning kan vi skriva den här frågan:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Denna fråga returnerar minimilönen för varje avdelning:
avdelning | min_lön |
---|---|
marknadsföring | 1200 |
ekonomi | 2300 |
produktion | 1100 |