MySQLで重複レコードを検索する 質問する

MySQLで重複レコードを検索する 質問する

MySQL データベース内の重複レコードを抽出したいのですが、これは次のように実行できます。

SELECT address, count(id) as cnt FROM list
GROUP BY address HAVING cnt > 1

その結果は次のようになります:

100 MAIN ST    2

重複している各行が表示されるようにプルしたいと思います。次のようになります。

JIM    JONES    100 MAIN ST
JOHN   SMITH    100 MAIN ST

これを実行する方法について何か考えはありますか? 最初のクエリを実行してから、コード内の 2 番目のクエリで重複を検索することを避けようとしています。

ベストアンサー1

重要なのは、このクエリをサブクエリとして使用できるように書き直すことです。

SELECT firstname, 
   lastname, 
   list.address 
FROM list
   INNER JOIN (SELECT address
               FROM   list
               GROUP  BY address
               HAVING COUNT(id) > 1) dup
           ON list.address = dup.address;

おすすめ記事