Problém:
Rádi byste ve sloupci našli nejmenší číselnou hodnotu.
Příklad:
Naše databáze obsahuje tabulku s názvem employment
s údaji v následujících sloupcích:id
, first_name
, last_name
, department
a salary
.
id | first_name | last_name | oddělení | plat |
---|---|---|---|---|
1 | Ellie | Martines | marketing | 1200 |
2 | Martin | Johnson | finance | 2300 |
3 | Michael | Jacobs | výroba | 1100 |
4 | Stephen | Kowalski | marketing | 4300 |
5 | Stanley | Miller | marketing | 3500 |
6 | Jeny | Hnědá | finance | 5 000 |
7 | Margaret | Zelená | marketing | 1500 |
8 | Lisa | Thomas | výroba | 2800 |
Pojďme najít nejnižší plat ze všech zaměstnanců.
Řešení:
SELECT MIN(salary) as min_salary FROM employment;
Zde je výsledek:
min_salary |
---|
1100 |
Diskuse:
Chcete-li zjistit minimální hodnotu sloupce, použijte MIN()
agregační funkce; jako svůj argument bere název sloupce, pro který chcete najít minimální hodnotu. Pokud jste nezadali žádné další sloupce v SELECT
klauzule, bude minimum vypočítáno pro všechny záznamy v tabulce. V našem příkladu dotaz vrací minimální mzdu mezi všemi zaměstnanci.
Samozřejmě, protože jde o agregační funkci, MIN()
lze použít i se skupinami. Pokud bychom například chtěli zjistit minimální mzdu pro každé oddělení, můžeme napsat tento dotaz:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Tento dotaz vrátí minimální mzdu pro každé oddělení:
oddělení | min_plat |
---|---|
marketing | 1200 |
finance | 2300 |
výroba | 1100 |