ホームページ >データベース >mysql チュートリアル >SQL Server で重複する行の ID を検索して取得する方法
関連付けられた ID を持つ SQL Server での重複行の検索
大規模なデータセットを扱う場合、重複行が発生することは珍しくありません。 SQL Server では、データの整合性を確保し、記憶域スペースを最小限に抑えるために、これらの重複を特定して削除することが重要です。この記事では、SQL Server データベースで重複行を検索し、関連付けられた ID を取得する方法に関する包括的なガイドを提供します。
重複行の特定
最初のステップは次のとおりです。重複する行を特定します。これは、特定の列に基づいて行をグループ化し、各グループの出現数をカウントすることで実現できます。カウントが 1 より大きい行は重複とみなされます。
元のクエリ
SELECT orgName, COUNT(*) AS dupes FROM organizations GROUP BY orgName HAVING COUNT(*) > 1;
このクエリは次の出力を生成します:
| orgName | dupes | |-------------------|-------| | ABC Corp | 7 | | Foo Federation | 5 | | Widget Company | 2 |
関連付けられた ID の取得
取得するには関連付けられた ID を使用すると、内部結合句を使用して、共通の列に基づいて 2 つのテーブルをマージできます。この場合、重複数を計算するサブクエリを使用して組織テーブルを結合できます。
変更されたクエリ
select o.orgName, oc.dupeCount, o.id from organizations o inner join ( SELECT orgName, COUNT(*) AS dupeCount FROM organizations GROUP BY orgName HAVING COUNT(*) > 1 ) oc on o.orgName = oc.orgName;
この変更されたクエリにより、次の出力が生成されます。
| orgName | dupeCount | id | |-------------------|-------|---| | ABC Corp | 1 | 34 | | ABC Corp | 2 | 5 | | ... | ... | ... | | Widget Company | 1 | 10 | | Widget Company | 2 | 2 |
この結果は、重複数と各重複組織の関連 ID の両方を提供します。この情報は、重複するユーザー レコードを手動で結合したり、さらなるデータ管理タスクに使用したりできます。
以上がSQL Server で重複する行の ID を検索して取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。