一条语句查询多字段重复。
假设有表table:
id  name name2 name3
1    小   他    地图
2    小   他    地图
3    大   你    天空
4    ..  ....   .....表内有n条重复数据,name、name2、name3同时相等。我想搜索全部这些数据,sql怎么写?

解决方案 »

  1.   

    select * from tt a where exists(select 1 from tt
    where a.name=name and a.name2=name2 and a.name3=name3)
      

  2.   

    select name,name2,name3
    from tb
    group by name,name2,name3
      

  3.   

    group by 只会搜出重复记录的其中一条,我是想把重复的每一条都搜出来。
    例如1楼的表:select name,name2,name3 from tb group by name,name2,name3只会搜出id=1的记录,而我是想把id=1 id=2都搜出,因为这两条记录重复了。
      

  4.   

    select * from tt a where exists(select 1 from tt
     where a.name=name and a.name2=name2 and a.name3=name3 and a.id<>id)
      

  5.   

    版主厉害!果然成功了。不过我还是没看懂这句sql的意思,看来还得继续努力进修呀