MySQL Выберите минимум / максимум из двух (или более) заданных значений

126

Возможен SELECTминимум или максимум из двух или более значений. Мне нужно что-то вроде этого:

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

Могу ли я добиться этого, используя только MySQL?

Carlos
источник

Ответы:

10

Просто будьте осторожны, если NULL может быть в значении поля ...

SELECT LEAST(NULL,NOW());

и

SELECT GREATEST(NULL,NOW());

оба возвращают null, что может быть не тем, что вы хотите (особенно в случае GREATEST)

Стив Чайлдс
источник
2

Попробуй это:

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
источник