是否有可能在两个或更多的值中取最小值或最大值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来实现这一点吗?
发布于 2013-10-18 17:16:15
您可以使用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
发布于 2013-10-18 17:17:03
发布于 2018-05-04 06:23:05
只需注意空值是否可能出现在字段值中...
SELECT LEAST(NULL,NOW());
和
SELECT GREATEST(NULL,NOW());
两者都返回null,这可能不是您想要的(特别是在GREATEST的情况下)
https://stackoverflow.com/questions/19445828
复制相似问题