PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Fonction MAX() dans PostgreSQL

Dans PostgreSQL, le MAX() calcule le maximum des valeurs d'entrée non nulles et renvoie le résultat.

Cette fonction peut être utilisée sur n'importe quel type numérique, chaîne, date/heure ou enum, ainsi que inet , interval , money , oid , pg_lsn , tid , et des tableaux de n'importe lequel de ces types.

Exemple

Voici un exemple rapide pour montrer comment cela fonctionne :

SELECT MAX(productprice) 
FROM products;

Résultat :

245.00

Dans ce cas, productprice est une colonne dans les products table.

Pour donner un peu plus de contexte, voici un aperçu du tableau :

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

Nous pouvons voir le productprice colonne pour laquelle nous avons obtenu la valeur maximale dans notre exemple.

Ma table réelle contient plus de colonnes, mais cela vous montre la colonne et son contexte dans la table.

NULL Valeurs

Le MAX() la fonction ignore tout NULL valeurs. Dans notre exemple de tableau ci-dessus, le marteau de forgeron a NULL dans son productprice colonne, mais cela a été ignoré dans notre MAX() exemple.

Résultats filtrés

Le MAX() La fonction opère sur les lignes renvoyées par la requête. Donc si vous filtrez les résultats, le résultat de MAX() reflétera cela.

Filtrons les résultats :

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

Résultat :

25.99

Valeurs DateHeure

Le MAX() la fonction peut être utilisée sur les valeurs datetime :

Supposons que nous ayons une table appelée pets avec les données suivantes :

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

Nous pouvons obtenir la valeur maximale à partir du dob colonne, comme ceci :

SELECT MAX(dob) 
FROM pets;

Résultat :

2020-11-28

Données de personnage

Lorsqu'il est utilisé avec des colonnes de données de caractères, MAX() trouve la valeur la plus élevée dans la séquence de classement.

Exemple :

SELECT MAX(petname) 
FROM pets;

Résultat :

Wag