1. ホーム
  2. sql

[解決済み】MySQLでカラムに同じ値を持つ行を検索する

2022-04-02 08:58:48

質問

メンバー]テーブルで、いくつかの行が同じ値の email カラムを使用します。

login_id | email
---------|---------------------
john     | [email protected]
peter    | [email protected]
johnny   | [email protected]
...

一部の人は、異なる login_id を使用していますが、同じ電子メールアドレスを使用しており、この列には一意制約が設定されていません。今、私はこれらの行を見つけ、それらを削除すべきかどうかを確認する必要があります。

これらの行を見つけるには、どのような SQL 文を使用すればよいですか?(MySQL 5)

どのように解決するのですか?

このクエリは、電子メールアドレスとその使用回数のリストを、最も使用回数の多いアドレスから順に表示します。

SELECT email,
       count(*) AS c
FROM TABLE
GROUP BY email
HAVING c > 1
ORDER BY c DESC

全行程が必要な場合

select * from table where email in (
    select email from table
    group by email having count(*) > 1
)