Problem:
Chcesz znaleźć najmniejszą wartość liczbową w kolumnie.
Przykład:
Nasza baza danych zawiera tabelę o nazwie employment
z danymi w następujących kolumnach:id
, first_name
, last_name
, department
i salary
.
id | imię | nazwisko | oddział | wynagrodzenie |
---|---|---|---|---|
1 | Elia | Martynowie | marketing | 1200 |
2 | Marcin | Johnson | finanse | 2300 |
3 | Michael | Jacobs | produkcja | 1100 |
4 | Stepan | Kowalski | marketing | 4300 |
5 | Stanley | Młynarz | marketing | 3500 |
6 | Jeny | Brązowy | finanse | 5000 |
7 | Margareta | Zielony | marketing | 1500 |
8 | Lisa | Thomas | produkcja | 2800 |
Znajdźmy najniższą pensję wśród wszystkich pracowników.
Rozwiązanie:
SELECT MIN(salary) as min_salary FROM employment;
Oto wynik:
min_salary |
---|
1100 |
Dyskusja:
Aby znaleźć minimalną wartość kolumny, użyj MIN()
funkcja zagregowana; jako argument przyjmuje nazwę kolumny, dla której chcesz znaleźć minimalną wartość. Jeśli nie określiłeś żadnych innych kolumn w SELECT
klauzuli, minimum zostanie obliczone dla wszystkich rekordów w tabeli. W naszym przykładzie zapytanie zwraca minimalną pensję wśród wszystkich pracowników.
Oczywiście, ponieważ jest to funkcja agregująca, MIN()
może być również używany z grupami. Na przykład, jeśli chcemy znaleźć minimalną pensję dla każdego działu, możemy napisać to zapytanie:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
To zapytanie zwraca minimalną pensję dla każdego działu:
dział | min_salary |
---|---|
marketing | 1200 |
finanse | 2300 |
produkcja | 1100 |