sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLで重複レコードを見つける方法

    基本的な考え方は、カウント集計でネストされたクエリを使用することです:

    select * from yourTable ou
    where (select count(*) from yourTable inr
    where inr.sid = ou.sid) > 1
    

    内部クエリのwhere句を調整して、検索を絞り込むことができます。

    コメントに記載されている別の良い解決策があります(ただし、全員がそれらを読むわけではありません):

    select Column1, Column2, count(*)
    from yourTable
    group by Column1, Column2
    HAVING count(*) > 1
    

    またはそれより短い:

    SELECT (yourTable.*)::text, count(*)
    FROM yourTable
    GROUP BY yourTable.*
    HAVING count(*) > 1
    


    1. where句でエイリアスを使用するにはどうすればよいですか?

    2. ClusterControlを使用したPostgreSQLの管理と自動化

    3. PDO+MySQLおよび壊れたUTF-8エンコーディング

    4. 構造化クエリ言語–SQL学習の重要性