在SQL Server 2000下测试通过
select distinct(dd.id),max(dd.time) as time from (select distinct(id),max(time) as time from t1 group by id union select distinct(bb.id),max(bb.time) as time from t2 bb group by bb.id) dd group by dd.id order by dd.time desc
select distinct(dd.id),max(dd.time) as time from (select distinct(id),max(time) as time from t1 group by id union select distinct(bb.id),max(bb.time) as time from t2 bb group by bb.id) dd group by dd.id order by dd.time desc
mysql> select id,max(time) as time from t1 group by id union
-> select bb.id,max(bb.time) as time from t2 bb group by bb.id order by
-> time desc limit 0,4;
+----+---------------------+
| id | time |
+----+---------------------+
| a | 2001-12-19 05:25:25 |
| c | 2001-12-18 05:25:25 |
| b | 2001-12-17 05:25:25 |
| d | 2001-12-16 05:25:25 |
+----+---------------------+
4 rows in set (0.01 sec)