select min(a.id) as id,a.name,a.rank from 表名 a join(select max(rank) as rank,name from 表名 group by name)b on a.rank=b.rank and a.name=b.name
group by a.name,a.rank order by a.id

解决方案 »

  1.   

    select id,name,max(rank) from table a inner join (select distanct name from table order by rank desc) b on a.rank = b.rank where a.name = b.name grou by a.id,a.name order by a.id
      

  2.   

    select a.id as id,a.name as anme ,a.rank ,b.name bname from 表名 a , 表名2 b group by a.rank desc//
    echo $arr['aname'];
    echo $arr['bname'];