首頁 >資料庫 >mysql教程 >如何根據多個欄位(例如電子郵件和姓名)查找 SQL 表中的重複行?

如何根據多個欄位(例如電子郵件和姓名)查找 SQL 表中的重複行?

Barbara Streisand
Barbara Streisand原創
2025-01-23 02:10:08696瀏覽

How to Find Duplicate Rows in a SQL Table Based on Multiple Fields (e.g., Email and Name)?

基於多個欄位辨識SQL中的重複記錄

使用單一欄位在 SQL 表中尋找重複項很簡單。 然而,識別多個欄位(例如電子郵件和姓名)中的重複項需要更複雜的方法。 此範例示範如何根據電子郵件和姓名尋找重複條目。

解決方案使用修改為包含多個欄位的 GROUP BY 子句:

<code class="language-sql">SELECT
    name, email, COUNT(*) AS DuplicateCount
FROM
    users
GROUP BY
    name, email
HAVING 
    DuplicateCount > 1;</code>

nameemail 分組可確保將具有相同電子郵件和姓名組合的記錄分組在一起。然後,HAVING 子句過濾這些群組,僅傳回 COUNT(*)(為清楚起見,重新命名為 DuplicateCount)大於 1 的群組,從而找出重複條目。 這可以有效地識別具有重複名稱和電子郵件對的行。

以上是如何根據多個欄位(例如電子郵件和姓名)查找 SQL 表中的重複行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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