Problem:
Du vil gerne finde den mindste numeriske værdi i en kolonne.
Eksempel:
Vores database har en tabel med navnet employment
med data i følgende kolonner:id
, first_name
, last_name
, department
og salary
.
id | fornavn | efternavn | afdeling | løn |
---|---|---|---|---|
1 | Ellie | Martines | markedsføring | 1200 |
2 | Martin | Johnson | finans | 2300 |
3 | Michael | Jacobs | produktion | 1100 |
4 | Stephen | Kowalski | markedsføring | 4300 |
5 | Stanley | Møller | markedsføring | 3500 |
6 | Jeny | Brun | finans | 5000 |
7 | Margaret | Grøn | markedsføring | 1500 |
8 | Lisa | Thomas | produktion | 2800 |
Lad os finde den laveste løn blandt alle medarbejdere.
Løsning:
SELECT MIN(salary) as min_salary FROM employment;
Her er resultatet:
min_salary |
---|
1100 |
Diskussion:
For at finde minimumsværdien af en kolonne, brug MIN()
aggregeret funktion; det tager som argument navnet på den kolonne, som du vil finde minimumsværdien for. Hvis du ikke har angivet andre kolonner i SELECT
klausul, vil minimum blive beregnet for alle poster i tabellen. I vores eksempel returnerer forespørgslen minimumslønnen blandt alle medarbejdere.
Selvfølgelig, da det er en samlet funktion, MIN()
kan også bruges med grupper. For eksempel, hvis vi gerne vil finde minimumslønnen for hver afdeling, kan vi skrive denne forespørgsel:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Denne forespørgsel returnerer minimumslønnen for hver afdeling:
afdeling | min_løn |
---|---|
marketing | 1200 |
finans | 2300 |
produktion | 1100 |