MySQL Seleccione mínimo / máximo entre dos (o más) valores dados

126

¿Es posible al SELECTmínimo o máximo entre dos o más valores? Necesitaría algo como esto:

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

¿Puedo lograr esto solo usando MySQL?

Carlos
fuente

Respuestas:

9

Solo tenga cuidado si es probable que NULL esté en un valor de campo ...

SELECT LEAST(NULL,NOW());

y

SELECT GREATEST(NULL,NOW());

ambos devuelven nulo, que puede no ser lo que desea (especialmente en el caso de MAYOR)

Steve Childs
fuente
2

Prueba esto:

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
fuente