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

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

Barbara Streisand
Barbara Streisand原創
2024-12-27 08:34:14637瀏覽

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

在 SQL Server 中檢索重複行和關聯 ID

從資料庫中消除重複行對於資料完整性和效率至關重要。在這種情況下,我們的目標是識別並檢索組織表中的所有重複行,以及它們對應的 ID 和重複行的計數。

為了實現這一點,我們可以利用 SQL Server 的強大功能。提供的語句有效地識別重複行並提供重複計數:

SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING COUNT(*) > 1

為了增強此查詢,我們可以引入一個子查詢來產生不同組織名稱和相應重複計數的表:

SELECT orgName, COUNT(*) AS dupeCount
FROM organizations
GROUP BY orgName
HAVING COUNT(*) > 1

然後使用orgName 列將該子查詢與主組織表連接起來,使我們能夠檢索與每個重複項關聯的ID row:

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 以及重複計數的完整清單。此資訊可讓您安全地手動合併重複行,確保資料完整性,同時維護與資料庫中其他資料表的關係。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn