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

Fonction MAX() dans MariaDB

Dans MariaDB, MAX() est une fonction d'agrégation qui renvoie la valeur maximale dans une expression donnée.

Syntaxe

La syntaxe ressemble à ceci :

MAX([DISTINCT] expr)

Exemple de données

Supposons que nous ayons un tableau avec les données suivantes :

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Résultat :

+----------+---------------------------------+--------------+
| 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                   |        33.49 |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Exemple

Nous pouvons utiliser la requête suivante pour obtenir le prix maximum de cette table.

SELECT MAX(ProductPrice)
FROM Products;

Résultat :

245.00

Dans ce cas, les informations de prix sont stockées dans le ProductPrice colonne, et nous la passons donc comme argument au MAX() fonction, qui calcule ensuite et renvoie le résultat.

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.

SELECT MAX(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Résultat :

25.99

Dans ce cas, 25,99 est le prix maximum de tous les produits proposés par le fournisseur spécifié.

Données de date/heure

Vous pouvez utiliser MAX() sur les valeurs de date/heure.

Supposons que nous ayons le tableau suivant :

SELECT PetName, DOB 
FROM Pets;

Résultat :

+---------+------------+
| PetName | DOB        |
+---------+------------+
| Fluffy  | 2020-11-20 |
| Fetch   | 2019-08-16 |
| Scratch | 2018-10-01 |
| Wag     | 2020-03-15 |
| Tweet   | 2020-11-28 |
| Fluffy  | 2020-09-17 |
| Bark    | NULL       |
| Meow    | NULL       |
+---------+------------+

Nous pouvons utiliser MAX() pour trouver la date de naissance maximale (DOB ).

SELECT MAX(DOB)
FROM Pets;

Résultat :

2020-11-28

Ce serait la date de naissance du plus jeune animal de compagnie.

NULL Valeurs

Le MAX() la fonction ignore tout NULL valeurs. Dans notre exemple de tableau ci-dessus, les deux dernières lignes ont NULL valeurs dans leur DOB colonne, mais cela a été ignoré dans notre MAX() exemple.

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(ProductName)
FROM Products;

Résultat :

Straw Dog Box

Le DISTINCT Mot clé

Le DISTINCT le mot-clé peut être utilisé avec le MAX() fonction, cependant, cela produit le même résultat que d'omettre DISTINCT . Autoriser le DISTINCT permet à MariaDB de se conformer à la norme ISO SQL.

Par conséquent, nous pouvons faire ceci :

SELECT MAX(DISTINCT ProductPrice)
FROM Products;

Résultat :

245.00

Mais cela n'a aucun impact sur les résultats.

Le DISTINCT le mot-clé peut être très utile lorsqu'il est utilisé avec d'autres contextes (par exemple avec le COUNT() fonction), mais elle n'a aucune signification lorsqu'elle est utilisée avec MAX() . Le DISTINCT le mot-clé supprime les doublons, mais dans le cas de MAX() cela ne fera aucune différence car MAX() renvoie le même résultat quel que soit le nombre de lignes partageant la même valeur maximale.

Fonctions de la fenêtre

Le MAX() la fonction peut être utilisée en conjonction avec le OVER clause pour créer une fonction de fenêtre.

Voir SQL MAX() Pour les débutants pour un exemple.