MySQL Selecione mínimo / máximo entre dois (ou mais) valores fornecidos

126

É possível ao SELECTmínimo ou máximo entre dois ou mais valores. Eu precisaria de algo assim:

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

Posso conseguir isso usando apenas o MySQL?

Carlos
fonte
possível duplicata de Como obter o máximo de dois valores no MySQL?
randomSeed

Respostas:

27

Suponho que você esteja procurando:

GREATEST()

e

LEAST()

RandomSeed
fonte
9

Apenas observe se é provável que NULL esteja em um valor de campo ...

SELECT LEAST(NULL,NOW());

e

SELECT GREATEST(NULL,NOW());

ambos retornam nulos, o que pode não ser o que você deseja (especialmente no caso de MAIOR)

Steve Childs
fonte
2

Tente o seguinte:

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
fonte