比如:有Table1,字段IDID
2
3
4
4
2
5
-------现查询重复的记录Select * From Table Where Exists (
Select * from Table1
Group By ID
Having Count(*) > 1 //查出两条以上的记录
)输出结果:
ID2
4
4
2
---------------------
ID

解决方案 »

  1.   

    楼上:
    你的写法是错误的:
    结果是全部记录.Select * From Table1 a
    Where Exists (
    Select * from Table1
    where id=a.id
    Group By ID
    Having Count(*) > 1 //查出两条以上的记录
    )or:Select * From Table1 
    Where id in (
    Select id from Table1
    Group By ID
    Having Count(*) > 1 //查出两条以上的记录
    )
      

  2.   

    楼上的方法最好,这里只是告诉你另一种方法
    Select * 
      From yourtable A
     Where (Select count(*) From yourtable Where Field1=A.Field1)>1
        or (Select count(*) From yourtable Where Field2=A.Field2)>1
        or (Select count(*) From yourtable Where Field3=A.Field3)>1
        ...
     Order By A.Field1,Field2,Field3 ...
      

  3.   

    select ID,count(*) from table group by ID having count(*)>1 order by ID