首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中尋找和檢索重複行的 ID?

如何在 SQL Server 中尋找和檢索重複行的 ID?

DDD
發布: 2024-12-28 20:37:10
原創
306 人瀏覽過

How to Find and Retrieve IDs of Duplicate Rows in SQL Server?

在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;
登入後複製

此結果提供了每個重複組織的重複計數和關聯ID。此資訊可用於手動合併重複的使用者記錄或執行進一步的資料管理任務。
| orgName | dupeCount | id |
|-------------------|-------|---|
| ABC Corp | 1 | 34 |
| ABC Corp | 2 | 5 |
| ... | ... | ... |
| Widget Company | 1 | 10 |
| Widget Company | 2 | 2 |
登入後複製

以上是如何在 SQL Server 中尋找和檢索重複行的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板