Probleem:
U wilt de kleinste numerieke waarde in een kolom vinden.
Voorbeeld:
Onze database heeft een tabel met de naam employment
met gegevens in de volgende kolommen:id
, first_name
, last_name
, department
, en salary
.
id | voornaam | achternaam | afdeling | salaris |
---|---|---|---|---|
1 | Ellie | Martines | marketing | 1200 |
2 | Martin | Johnson | financiën | 2300 |
3 | Michael | Jacobs | productie | 1100 |
4 | Stephen | Kowalski | marketing | 4300 |
5 | Stanley | Miller | marketing | 3500 |
6 | Jeny | Bruin | financiën | 5000 |
7 | Margaret | Groen | marketing | 1500 |
8 | Lisa | Thomas | productie | 2800 |
Laten we het laagste salaris van alle werknemers vinden.
Oplossing:
SELECT MIN(salary) as min_salary FROM employment;
Dit is het resultaat:
min_salaris |
---|
1100 |
Discussie:
Om de minimumwaarde van een kolom te vinden, gebruikt u de MIN()
geaggregeerde functie; het neemt als argument de naam van de kolom waarvoor u de minimumwaarde wilt vinden. Als u geen andere kolommen heeft opgegeven in de SELECT
clausule, wordt het minimum berekend voor alle records in de tabel. In ons voorbeeld retourneert de zoekopdracht het minimumloon van alle werknemers.
Omdat het natuurlijk een aggregatiefunctie is, MIN()
kan ook met groepen worden gebruikt. Als we bijvoorbeeld het minimumsalaris voor elke afdeling willen vinden, kunnen we deze vraag schrijven:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Deze zoekopdracht retourneert het minimumsalaris voor elke afdeling:
afdeling | min_salaris |
---|---|
marketing | 1200 |
financiën | 2300 |
productie | 1100 |