J'ai essayé mais j'ai échoué:
mysql> select max(1,0);
ERREUR 1064 (42000): vous avez une erreur dans votre syntaxe SQL; Consultez le manuel qui correspond à la version de votre serveur MySQL pour connaître la syntaxe à utiliser pour près de '0)' à la ligne 1
Utilisez GREATEST () (---
Par exemple.:
SELECT GREATEST(2,1);
Remarque: chaque fois qu'une valeur unique contient la valeur null à ce moment-là, cette fonction renvoie toujours la valeur null (Merci à l'utilisateur @ sanghavi7)
Pour obtenir la valeur maximale d'une colonne sur un ensemble de lignes:
SELECT MAX(column1) FROM table; -- expect one result
Pour obtenir la valeur maximale d'un ensemble de colonnes, de littéraux ou de variables pour chaque ligne:
SELECT GREATEST(column1, 1, 0, @val) FROM table; -- expect many results
Vous pouvez utiliser la fonction GREATEST avec des champs non nullables. Si l'une de ces valeurs (ou les deux) peut être NULL, ne l'utilisez pas (le résultat peut être NULL).
select
if(
fieldA is NULL,
if(fieldB is NULL, NULL, fieldB), /* second NULL is default value */
if(fieldB is NULL, field A, GREATEST(fieldA, fieldB))
) as maxValue
Vous pouvez remplacer NULL par votre valeur par défaut préférée (si les deux valeurs sont NULL).