从两个表中选择最大值

时间:2012-01-10 14:00:09

标签: mysql

我有这样的查询,以选择最近联系某人的时间:

SELECT `user_id`, `last_contact` 
  FROM `emails_sent` 
 group by `user_id`
 order by `last_contact` desc

上面的代码给出了一个表格,其中列出了每个用户的最后联系时间。现在,我有一个与用户联系的表,一个包含user_id和last_contact列的表。

如何让我的选择使用两个表并从两个表中选择每个用户的最后联系时间?

1 个答案:

答案 0 :(得分:14)

总结两个摘要查询的并集,如下所示。

SELECT user_id, 
       MAX(user_date) user_date
  FROM
   (
     SELECT user_id, 
            MAX(last_contact) user_date 
       FROM emails_sent
      GROUP BY user_id
   UNION ALL
     SELECT whatever_user_id_column user_id, 
            MAX(whatever_date_column) user_date 
       FROM whatever_table
      GROUP BY user_id
   )a
GROUP BY user_id