Problem:
Sie möchten den kleinsten numerischen Wert in einer Spalte finden.
Beispiel:
Unsere Datenbank hat eine Tabelle namens employment
mit Daten in den folgenden Spalten:id
, first_name
, last_name
, department
und salary
.
id | Vorname | Nachname | Abteilung | Gehalt |
---|---|---|---|---|
1 | Ellie | Martines | Marketing | 1200 |
2 | Martin | Johnson | Finanzen | 2300 |
3 | Michael | Jacobs | Produktion | 1100 |
4 | Stephan | Kowalsky | Marketing | 4300 |
5 | Stanley | Müller | Marketing | 3500 |
6 | Jenie | Braun | Finanzen | 5000 |
7 | Margaret | Grün | Marketing | 1500 |
8 | Lisa | Thomas | Produktion | 2800 |
Lassen Sie uns das niedrigste Gehalt unter allen Mitarbeitern finden.
Lösung:
SELECT MIN(salary) as min_salary FROM employment;
Hier ist das Ergebnis:
min_salary |
---|
1100 |
Diskussion:
Um den Mindestwert einer Spalte zu finden, verwenden Sie MIN()
Aggregatfunktion; Als Argument wird der Name der Spalte verwendet, für die Sie den Mindestwert finden möchten. Wenn Sie keine anderen Spalten in der SELECT
angegeben haben -Klausel wird das Minimum für alle Datensätze in der Tabelle berechnet. In unserem Beispiel gibt die Abfrage das Mindestgehalt aller Mitarbeiter zurück.
Da es sich um eine Aggregatfunktion handelt, ist natürlich MIN()
kann auch mit Gruppen verwendet werden. Wenn wir beispielsweise das Mindestgehalt für jede Abteilung ermitteln möchten, können wir diese Abfrage schreiben:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Diese Abfrage gibt das Mindestgehalt für jede Abteilung zurück:
Abteilung | min_salary |
---|---|
Marketing | 1200 |
Finanzen | 2300 |
Produktion | 1100 |