MySQL Выберите минимум/максимум из двух (или более) заданных значений
Можно ли 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?
Ответы
Ответ 1
Для достижения этой цели вы можете использовать функции LEAST
и GREATEST
.
SELECT
GREATEST(A.date0, B.date0) AS date0,
LEAST(A.date1, B.date1) AS date1
FROM A, B
WHERE B.x = A.x
Оба описаны здесь http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html
Ответ 2
Я предполагаю, что вы ищете:
GREATEST()
и
LEAST()
Ответ 3
Попробуйте следующее:
SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
FROM A
JOIN B
ON A.id = B.role;