PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Funkcja MAX() w PostgreSQL

W PostgreSQL MAX() funkcja oblicza maksimum niezerowych wartości wejściowych i zwraca wynik.

Ta funkcja może być używana na dowolnym typie liczbowym, łańcuchowym, dacie/godzinie lub typie wyliczenia, jak również inet , interval , money , oid , pg_lsn , tid i tablice dowolnego z tych typów.

Przykład

Oto krótki przykład pokazujący, jak to działa:

SELECT MAX(productprice) 
FROM products;

Wynik:

245.00

W tym przypadku productprice to kolumna w products stół.

Aby nadać temu nieco więcej kontekstu, oto migawka tabeli:

+----------+---------------------------------+--------------+
| 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 |
+----------+---------------------------------+--------------+

Widzimy productprice kolumna, dla której otrzymaliśmy maksymalną wartość w naszym przykładzie.

Moja rzeczywista tabela zawiera więcej kolumn, ale to pokazuje kolumnę i jej kontekst w tabeli.

NULL Wartości

MAX() funkcja ignoruje każdy NULL wartości. W naszej przykładowej tabeli powyżej młot ma wartość NULL w jego productprice kolumna, ale zostało to zignorowane w naszej MAX() przykład.

Przefiltrowane wyniki

MAX() funkcja działa na wierszach zwróconych przez zapytanie. Więc jeśli filtrujesz wyniki, wynik MAX() odzwierciedli to.

Filtrujmy wyniki:

SELECT MAX(productprice) 
FROM products
WHERE vendorid = 1001;

Wynik:

25.99

Wartości daty i godziny

MAX() funkcja może być używana na wartościach daty i godziny:

Załóżmy, że mamy tabelę o nazwie pets z następującymi danymi:

+-------+---------+------------+
| 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       |
+-------+---------+------------+

Maksymalną wartość możemy uzyskać z dob kolumna, tak:

SELECT MAX(dob) 
FROM pets;

Wynik:

2020-11-28

Dane postaci

W przypadku używania z kolumnami danych znakowych MAX() znajduje najwyższą wartość w kolejności zestawiania.

Przykład:

SELECT MAX(petname) 
FROM pets;

Wynik:

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. Jak działa Z WYJĄTKIEM w PostgreSQL

  2. Łącz/scal wartości tablicy podczas grupowania/agregacji

  3. PostgreSQL - jak renderować datę w innej strefie czasowej?

  4. Entity Framework core — zawiera czy wielkość liter jest rozróżniana lub wielkość liter nie jest rozróżniana?

  5. PostgreSQL CASE ... END z wieloma warunkami