문제

이 있을 경우 데이터는 다음과 같다:

+---+----+
|Key|Name|
+---+----+
|1  |Dan |
+---+----+
|2  |Tom |
+---+----+
|3  |Jon |
+---+----+
|4  |Tom |
+---+----+
|5  |Sam |
+---+----+
|6  |Dan |
+---+----+

어떤 SQL 쿼리를 다시 가져올 기록 Name 반복되는 2 번 이상?

그래서 그 결과는 내가 원하는 것입니다

 +---+
 |Tom|
 +---+
 |Dan|
 +---+
도움이 되었습니까?

해결책

간단 할 수 없습니다...

Select
Name,
Count(Name) As Count
From
Table
Group By
Name
Having
Count(Name) > 1
Order By
Count(Name) Desc

이 될 수도 있습 확장을 중복을 삭제:

Delete
From
Table
Where
Key In (
    Select
    Max(Key)
    From
    Table
    Group By
    Name
    Having
Count(Name) > 1)

다른 팁

select name from table group by name having count(name) > 1

이러한 수행 결합하여 테이블,자신

SELECT DISTINCT t1.name
FROM    tbl t1
        INNER JOIN tbl t2
        ON      t1.name = t2.name
WHERE   t1.key         != t2.key;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top