MySQL在两个(或更多)给定值中select最小/最大值

是否可以SELECT两个或更多值中的最小值或最大值。 我需要这样的东西:

 SELECT MAX_VALUE(A.date0, B.date0) AS date0, MIN_VALUE(A.date1, B.date1) AS date1 FROM A, B WHERE Bx = Ax 

我可以通过只使用MySQL来实现吗?

您可以使用LEASTGREATEST函数来实现它。

 SELECT GREATEST(A.date0, B.date0) AS date0, LEAST(A.date1, B.date1) AS date1 FROM A, B WHERE Bx = Ax 

这两个在这里描述http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

我想你正在寻找:

GREATEST()

LEAST()

尝试这个:

 SELECT GREATEST(A.date0, B.date0) AS `date0`,LEAST(A.date0, B.date0) AS `date1` FROM A JOIN B ON A.id = B.role;