select * from t a
where name in(select top 2 name from t where id=a.id order by name )
order by id,name

解决方案 »

  1.   

    select * from t a
    where name in(select top 2 name from t where ltrim('id',6)=ltrim('a.id',6) order by name )
    order by 'id',name
      

  2.   

    select * from product a
    where name in(select top 2 name from product where id=a.id order by name)
    order by name
      

  3.   

    select * 
    from product a
    where name in
      (select top 2 name 
       from product 
       where id=a.id order by name)
    order by name
      

  4.   

    select id,name from product as t1
    where ((select count(*) from product 
    where id=t1.id and name<=t1.name)<=2)