2017-05-07 1 views
3

글쎄, 이미이 쿼리에 관한 많은 질문이 있지만 그 중 누구도 내 문제를 해결하지 못한다는 것을 알고 있습니다.MySQL : 중복 된/충돌 한 행 찾기

I

id  name  link  year 
1  t1   x1  2013 
2  t5   x2  1990 
3  t3   x1  2013 
4  t2   x9  2011 

가 지금은 두 개의 열 과 함께 중복 기록을 얻기 위해 원하는 결과가 여기

id  name  link  year 
1  t1   x1  2013 
3  t3   x1  2013 

해야 다음 표를 지금까지

뭘하려했습니다
SELECT * FROM table GROUP BY `link`, `year` HAVING COUNT(*) > 1 

1 초 만 반환하므로 도움이 될 것입니다. 높게 평가.

답변

3

여러 행이있는 집계를 사용하여 링크 및 연도 조합을 찾을 수 있습니다. 해당 링크와 연도의 모든 행을 가져 오려면 원본 테이블과 조인해야합니다.

select * 
from table t 
join (
    select link, year 
    from table 
    group by link, year 
    having count(*) > 1 
    ) t2 using (link, year);