select xm,xfz
from table 
group by xm,xfz
having count(1) > 1

解决方案 »

  1.   

    select a.* from tb where exists(select xm,sfz from tb group by xm,sfz having count(*) > 1)
      

  2.   

    select xm,sfz from Table1 group by xm,sfz having count(xm)>1
      

  3.   

    --我上面那个错了.
    create table tb(id int , xm varchar(10) , sfz varchar(10))
    insert into tb values(1 , '1' , '1')
    insert into tb values(2 , '1' , '1')
    insert into tb values(3 , '2' , '1')
    goselect a.* from tb a where cast(xm as varchar) + ',' + cast(sfz as varchar) in (select cast(xm as varchar) + ',' + cast(sfz as varchar) from tb group by cast(xm as varchar) + ',' + cast(sfz as varchar) having count(*) > 1)drop table tb/*id          xm         sfz        
    ----------- ---------- ---------- 
    1           1          1
    2           1          1(所影响的行数为 2 行)
    */