是否可能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
Run Code Online (Sandbox Code Playgroud)
我可以通过只使用MySQL实现这一目标吗?
Elo*_*han 215
您可以使用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
Run Code Online (Sandbox Code Playgroud)
两者都在这里描述http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html
Ste*_*lds 12
只要注意 NULL 是否可能在字段值中......
SELECT LEAST(NULL,NOW());
Run Code Online (Sandbox Code Playgroud)
和
SELECT GREATEST(NULL,NOW());
Run Code Online (Sandbox Code Playgroud)
两者都返回 null,这可能不是您想要的(尤其是在 GREATEST 的情况下)