Проблем:
Искате да намерите най-малката числова стойност в колона.
Пример:
Нашата база данни има таблица с име employment
с данни в следните колони:id
, first_name
, last_name
, department
и salary
.
id | first_name | фамилно_име | отдел | заплата |
---|---|---|---|---|
1 | Ели | Мартинци | маркетинг | 1200 |
2 | Мартин | Джонсън | финанси | 2300 |
3 | Майкъл | Джейкъбс | производство | 1100 |
4 | Стивън | Ковалски | маркетинг | 4300 |
5 | Стенли | Милър | маркетинг | 3500 |
6 | Джени | Кафяв | финанси | 5000 |
7 | Маргарет | Зелено | маркетинг | 1500 |
8 | Лиза | Томас | производство | 2800 |
Нека намерим най-ниската заплата сред всички служители.
Решение:
SELECT MIN(salary) as min_salary FROM employment;
Ето резултата:
мин.заплата |
---|
1100 |
Дискусия:
За да намерите минималната стойност на колона, използвайте MIN()
агрегатна функция; той приема за свой аргумент името на колоната, за която искате да намерите минималната стойност. Ако не сте посочили други колони в SELECT
клауза, минимумът ще бъде изчислен за всички записи в таблицата. В нашия пример заявката връща минималната заплата сред всички служители.
Разбира се, тъй като това е агрегатна функция, MIN()
може да се използва и с групи. Например, ако искаме да намерим минималната заплата за всеки отдел, можем да напишем следната заявка:
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Тази заявка връща минималната заплата за всеки отдел:
отдел | мин.заплата |
---|---|
маркетинг | 1200 |
финанси | 2300 |
производство | 1100 |