Получить MAX () для столбца в двух таблицах - PullRequest
3 голосов
/ 08 августа 2010

У меня есть две таблицы, в каждой из которых есть столбец DateTime.

Как получить MAX () DateTime?

Чем короче / проще, тем лучше, потому что это всего лишь частьзапрос большего размера.

Ответы [ 2 ]

16 голосов
/ 08 августа 2010

Вы можете использовать функцию GREATEST :

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 - быстрее, потому что не• удалить дубликаты, и не имеет значения, возвращаются ли дубликаты подзапросом в этом примере.

3 голосов
/ 08 августа 2010
SELECT MAX(thedate) FROM (
    SELECT mydate as thedate FROM TABLE1

    UNION

    SELECT anotherdate as thedate FROM TABLE2
) as tablealias
...