select a.id,a.name1,a.name2,b.createtime from table1 a 
(select name2,max(createtime) createtime  from table1 group by id) b
where a.name2=b.name2 and a.createtime=b.createtime  

解决方案 »

  1.   

    select a.id,a.name1,a.name2,b.createtime from table1 a 
    (select name2,max(createtime) createtime  from table1 group by id) b
    where a.name2=b.name2 and a.createtime=b.createtime  and a.name1='li'
      

  2.   

    select a.id,a.name1,a.name2,b.createtime from table1 a 
    (select name1,name2,max(createtime) as createtime  from table1 group by name1,name2) b
    where  a.name1=b.name1 and a.name2=b.name2 and a.createtime=b.createtime
      

  3.   

    上面的两个语句语法都是错误的。楼主是要显示所有的的数据,只是遇到这种情况做处理来显示,
    还是说只要name1=li的数据??