有以下的表A:
pkid name data
name的数据有大量重复,我需要选择每一组name数据重复的最小ID数。比如张三有三条同样的记录,需要选择最小的id数,谢谢!

解决方案 »

  1.   

    select distinct pkid ...
      

  2.   

    select name,min(pkid) as pkid
    from A
    group by name
      

  3.   

    select min(pkid),[name] from tablename group by [name]
      

  4.   

    select * from ta as a
    where not exists(select 1 from ta where name=a.name and id<a.id)
      

  5.   

    select a.* from a,
    (select min(pkid) pkid, name from a group by name) b
    where a.pkid = b.pkid and a.name = b.name
      

  6.   

    --如果pkid是自增列的話,也可以這麼寫Select * From A Where pkid In (Select Min(pkid) From A Group By Name)