1. ホーム
  2. mysql

[解決済み] MySQLの重複レコードを検索する

2022-03-14 01:48:05

質問

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番目のクエリで重複を検索することを避けようとしています。

どのように解決しますか?

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

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;