是否有可能將SELECT
中的兩個或更多值中的最小值或最大值。我需要這樣的事情:MySQL在兩個(或多個)給定值中選擇最小值/最大值
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來實現嗎?
是否有可能將SELECT
中的兩個或更多值中的最小值或最大值。我需要這樣的事情:MySQL在兩個(或多個)給定值中選擇最小值/最大值
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來實現嗎?
您可以使用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
試試這個:
SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1`
FROM A
JOIN B
ON A.id = B.role;
可能重複[如何獲得MySQL中的兩個值的最大值?](http://stackoverflow.com/questions/1565688/how-to-get-the-max-of-two-values-在MySQL的) – RandomSeed