PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Функция MAX() в PostgreSQL

В 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. кодирането UTF8 не съответства на локала en_US; избраната настройка LC_CTYPE изисква кодиране LATIN1

  2. Получаване на всички сгради в обхват от 5 мили от определени координати

  3. Измерване на статистиката на контролните точки на PostgreSQL

  4. Мониторинг и одит на производителността PostgreSQL - Топ ресурси

  5. Как да променя позицията на колона в таблица с база данни на PostgreSQL?