例如,
UId FieldName
1    Name
1    Age
1    sex
2    Name
2    Age
2    Sex
2    Habbit
怎样得到count=2也就是重复的id只取一条数据。。

解决方案 »

  1.   


    select * from tb a where not exists(
    select 1 from tb where UId=a.UId and FieldName>a.FieldName
    )
      

  2.   

    [
    with t as(
    select uid,fieldname,row_number() over(partition by uid order by uid) rn
    from tb
    )
    select * from tb where rn=1
      

  3.   

    select
      *
    from
      tb t
    where
      FieldName=(select max(FieldName) from tb where uid=t.uid)
      

  4.   

    select fieldName from tb group by fieldname
      

  5.   


    select uid , min(FieldName) FieldName from tb group by uid
    select uid , max(FieldName) FieldName from tb group by uid
      

  6.   


    兩個字段都重復?
    select UId,FieldName from Table group by UId,FieldName
      

  7.   

    select uid , min(FieldName) FieldName from tb group by uid
    ,
    select uid , max(FieldName) FieldName from tb group by uid 都可以