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

bgc*_*ode 3 mysql sql max

我有两个表都有DateTime列.

如何获得MAX()DateTime?

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

OMG*_*ies 16

您可以使用GREATEST功能:

SELECT GREATEST((SELECT MAX(column) 
                   FROM TABLE_1),
                (SELECT MAX(column) 
                   FROM TABLE_2))
Run Code Online (Sandbox Code Playgroud)

使用UNION:

SELECT MAX(col)
  FROM (SELECT col FROM TABLE_1
        UNION ALL
        SELECT col FROM TABLE_2)
Run Code Online (Sandbox Code Playgroud)

使用UNION ALL了这一点-它的速度更快,因为它不会删除重复的,如果重复用在这个例子中,子查询返回没关系.