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

重複した行をすべて表示

    重複したレコードを見つけましたが、それらに添付されているすべての情報を取得したいと考えています。 参加する必要があります その情報を取得するためにメイン テーブルに複製します。

    select * from my_table a join (firstname、lastname から my_table グループから firstname、lastname を count(*)> 1 で選択) b on a.firstname =b.firstname および a.lastname =b.lastname  

    これは inner join と同じです これは、サブクエリ内のすべてのレコードについて、重複レコードが見つかったことを意味し、最初と最後の組み合わせが同じであるメイン テーブルからすべてを見つけることを意味します。

    でこれを行うこともできますが、違いをテストする必要があります :

    select * from my_table a where (firstname, lastname ) in ( select firstname, lastname from my_table group by firstname, lastname を持つ count(*)> 1 )  

    参考資料:



    1. 12c廃止された機能

    2. ユーザーが私のコンテンツプロバイダーの特定のテーブルにのみアクセスできるようにする

    3. oraclesqlplusスプール

    4. CentOS7にMariaDB10をインストールして保護する方法