Проблем:
Искате да намерите максималната стойност на числова колона.
Пример:
Нашата база данни има таблица с име product с данни в следните колони:id , name , year и items .
| id | име | година | елементи |
|---|---|---|---|
| 1 | булка | 2018 | 345 |
| 2 | шоколад | 2017 | 123 |
| 3 | масло | 2019 | 34 |
| 4 | булка | 2019 | 456 |
| 5 | масло | 2018 | 56 |
| 6 | масло | 2017 | 78 |
| 7 | шоколад | 2019 | 87 |
| 8 | шоколад | 2018 | 76 |
Нека намерим максималния брой продадени артикули за всички години.
Решение:
SELECT MAX(items) as max_items FROM product;
Ето резултата:
| max_items |
|---|
| 456 |
Дискусия:
За да намерите максималната стойност на колона, използвайте MAX() агрегатна функция; той приема за свой аргумент името на колоната, за която искате да намерите максималната стойност. Ако не сте посочили други колони в SELECT клауза, максимумът ще бъде изчислен за всички записи в таблицата. В нашия пример заявката връща максималния брой сред всички елементи.
Разбира се, тъй като това е агрегатна функция, MAX() може да се използва и с групи. Например, ако искаме да видим максималния брой продадени артикули за всяка година, можем да напишем следната заявка:
SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
Максимумът се изчислява за всяка група:
| година | max_items |
|---|---|
| 2018 | 345 |
| 2017 | 123 |
| 2019 | 456 |