2009-03-10 5 views
2

私は複数のフィールドを持つMySQLテーブルを持っています。タプルを複製するエントリーを見つけたいと思います。MySQL - 重複したタプルを見つける

私は当初、私はこの

select f1, f2, f3 from mytable t1 left join mytable t2 
where t1.f1 = t2.f1 and t1.f2 = t2.f2 and t1.f3 = t2.f3; 

を行うことができます考えていた。しかし、私はそれがちょうど(私が思う)、テーブル内のすべての行を返します実現。

タプルにインデックスを作成しました。私のテーブルには120万行があります。

私のSQLはあまり強くありません。ヘルプは高く評価しました。おそらく、

答えて

3

このような何か:

select f1, f2, f3, count(*) 
from mytable 
group by f1, f2, f3 
having count(*) > 1 

構文がオフになる場合もありますので、私はMS SQLを使用しています。

関連する問題