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 |