首頁 > 資料庫 > mysql教程 > 如何在 SQL 中尋找多列中的精確重複記錄?

如何在 SQL 中尋找多列中的精確重複記錄?

Barbara Streisand
發布: 2025-01-04 11:36:34
原創
779 人瀏覽過

How to Find Exact Duplicate Records Across Multiple Columns in SQL?

在多列中尋找重複值

在 SQL 程式碼中,您尋求根據特定條件識別重複記錄。為此,您可以結合使用分組和條件篩選。

您提供的範例旨在尋找與名稱和城市列相符的重複記錄。但是,您的原始查詢有一個小問題:它還包含僅名稱或城市匹配的記錄,而不是要求兩者完全匹配。

要解決此問題,您可以如下修改查詢:

SELECT s.id, t.*
FROM [stuff] s
JOIN (
    SELECT name, city, COUNT(*) AS qty
    FROM [stuff]
    GROUP BY name, city
    HAVING COUNT(*) > 1
) t ON s.name = t.name AND s.city = t.city
登入後複製

此查詢將[stuff] 表與子查詢連接起來,該子查詢計算每對唯一的名稱和城市值的重複記錄計數。透過將 HAVING 子句設定為僅包含計數大於 1 的群組,您可以將結果限制為代表實際重複項的行。

此查詢的輸出應與您所需的結果相符:

id name city
904834 jim London
904835 jim London
90145 Fred Paris
90132 Fred Paris
90133 Fred Paris

以上是如何在 SQL 中尋找多列中的精確重複記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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