В PostgreSQL, MAX()
функцията изчислява максимума от ненулевите входни стойности и връща резултата.
Тази функция може да се използва за всеки тип число, низ, дата/час или изброяване, както и inet
, interval
, money
, oid
, pg_lsn
, tid
и масиви от всеки от тези типове.
Пример
Ето един бърз пример, за да демонстрирате как работи:
SELECT MAX(productprice)
FROM products;
Резултат:
245.00
В този случай productprice
е колона в products
маса.
За да придадете на това малко повече контекст, ето моментна снимка на таблицата:
+----------+---------------------------------+--------------+ | vendorid | productname | productprice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | NULL | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Можем да видим productprice
колона, за която получихме максималната стойност в нашия пример.
Действителната ми таблица съдържа повече колони, но това ви показва колоната и нейния контекст в таблицата.
NULL
Стойности
MAX()
функцията игнорира всеки NULL
стойности. В нашата примерна таблица по-горе чукът има NULL
в неговата productprice
колона, но това беше игнорирано в нашия MAX()
пример.
Филтрирани резултати
MAX()
функцията работи с редовете, върнати от заявката. Така че, ако филтрирате резултатите, резултатът от MAX()
ще отрази това.
Нека филтрираме резултатите:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Резултат:
25.99
Стойности за дата и час
MAX()
функцията може да се използва за стойности за дата и час:
Да предположим, че имаме таблица, наречена pets
със следните данни:
+-------+---------+------------+ | petid | petname | dob | +-------+---------+------------+ | 1 | Fluffy | 2020-11-20 | | 2 | Fetch | 2019-08-16 | | 3 | Scratch | 2018-10-01 | | 4 | Wag | 2020-03-15 | | 5 | Tweet | 2020-11-28 | | 6 | Fluffy | 2020-09-17 | | 7 | Bark | NULL | | 8 | Meow | NULL | +-------+---------+------------+
Можем да получим максималната стойност от dob
колона, както следва:
SELECT MAX(dob)
FROM pets;
Резултат:
2020-11-28
Данни за знаци
Когато се използва с колони с данни за знаци, MAX()
намира стойността, която е най-висока в последователността за сортиране.
Пример:
SELECT MAX(petname)
FROM pets;
Резултат:
Wag