MySQL Sélectionnez minimum / maximum parmi deux (ou plus) valeurs données

126

Est-il possible au SELECTminimum ou au maximum entre deux ou plusieurs valeurs. J'aurais besoin de quelque chose comme ça:

SELECT MAX_VALUE(A.date0, B.date0) AS date0, MIN_VALUE(A.date1, B.date1) AS date1
FROM A, B
WHERE B.x = A.x

Puis-je y parvenir en utilisant uniquement MySQL?

Carlos
la source

Réponses:

27

Je suppose que vous recherchez:

GREATEST()

et

LEAST()

RandomSeed
la source
10

Faites juste attention si NULL est susceptible d'être dans une valeur de champ ...

SELECT LEAST(NULL,NOW());

et

SELECT GREATEST(NULL,NOW());

les deux renvoient null, ce qui peut ne pas être ce que vous voulez (en particulier dans le cas de GREATEST)

Steve Childs
la source
2

Essaye ça:

SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
  FROM A 
  JOIN  B
    ON A.id = B.role;
Mani
la source