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 |