Проблем:
Искате да намерите максималната стойност на числова колона.
Пример:
Нашата база данни има таблица с име 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 |