在SQL Server 中尋找具有關聯ID 的重複行
處理大型資料集時,遇到重複行的情況並不少見。在 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,內連接子句可用於基於公用資料列合併兩個資料表。在這種情況下,我們可以使用計算重複計數的子查詢來連接組織表。
修改後的查詢此修改後的查詢會產生以下輸出:
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 |
以上是如何在 SQL Server 中尋找和檢索重複行的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!