PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Funzione MAX() in PostgreSQL

In PostgreSQL, il MAX() La funzione calcola il massimo dei valori di input non nulli e restituisce il risultato.

Questa funzione può essere utilizzata su qualsiasi tipo numerico, stringa, data/ora o enum, nonché su inet , interval , money , oid , pg_lsn , tid e array di uno qualsiasi di questi tipi.

Esempio

Ecco un rapido esempio per dimostrare come funziona:

SELECT MAX(productprice) 
FROM products;

Risultato:

245.00

In questo caso, productprice è una colonna nei products tavolo.

Per dare un po' più di contesto, ecco un'istantanea della tabella:

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

Possiamo vedere il productprice colonna per la quale abbiamo ottenuto il valore massimo nel nostro esempio.

La mia tabella attuale contiene più colonne, ma questa mostra la colonna e il suo contesto all'interno della tabella.

NULL Valori

Il MAX() la funzione ignora qualsiasi NULL valori. Nella nostra tabella di esempio sopra, la mazza ha NULL nel suo productprice colonna, ma è stata ignorata nel nostro MAX() esempio.

Risultati filtrati

Il MAX() La funzione opera sulle righe restituite dalla query. Quindi, se filtri i risultati, il risultato di MAX() lo rifletterà.

Filtra i risultati:

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

Risultato:

25.99

Valori di data e ora

Il MAX() la funzione può essere utilizzata sui valori datetime:

Supponiamo di avere una tabella chiamata pets con i seguenti dati:

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

Possiamo ottenere il valore massimo da dob colonna, come questa:

SELECT MAX(dob) 
FROM pets;

Risultato:

2020-11-28

Dati sui personaggi

Se utilizzato con colonne di dati carattere, MAX() trova il valore più alto nella sequenza di confronto.

Esempio:

SELECT MAX(petname) 
FROM pets;

Risultato:

Wag