在两个表中的列上获取MAX()

时间:2010-08-07 23:32:57

标签: sql mysql max

我有两个表都有DateTime列。

如何获得MAX()DateTime?

越短/越简越好,因为这只是更大查询的一部分。

2 个答案:

答案 0 :(得分:16)

您可以使用GREATEST function

SELECT GREATEST((SELECT MAX(column) 
                   FROM TABLE_1),
                (SELECT MAX(column) 
                   FROM TABLE_2))

使用UNIONs:

SELECT MAX(col)
  FROM (SELECT col FROM TABLE_1
        UNION ALL
        SELECT col FROM TABLE_2)

使用UNION ALL - 它更快,因为它不会删除重复项,并且在此示例中子查询是否返回重复项并不重要。

答案 1 :(得分:3)

SELECT MAX(thedate) FROM (
    SELECT mydate as thedate FROM TABLE1

    UNION

    SELECT anotherdate as thedate FROM TABLE2
) as tablealias