表格是:
create table test (
id string,
name string,
age string,
modified string)
像这样的数据:
id    name   age  modifed
1     a      10   2011-11-11 11:11:11
1     a      11   2012-11-11 12:00:00
2     b      20   2012-12-10 10:11:12
2     b      20   2012-12-10 10:11:12
2     b      20   2012-12-12 10:11:12
2     b      20   2012-12-15 10:11:12
我想按id获取最新记录(包括每列id,姓名,年龄,修改)分组,如上数据,正确结果是:
1     a      11   2012-11-11 12:00:00
2     b      20   2012-12-15 10:11:12
我喜欢这样:
insert overwrite table t 
select b.id, b.name, b.age, b.modified 
from (
        select id,max(modified) as modified 
        from test 
        group by id
) a 
left outer join test b on (a.id=b.id  and a.modified=b.modified);
这条sql可以得到正确的结果,但是当大量数据时,它运行缓慢。
**没有左外连接有没有办法做到这一点?**