首頁 >資料庫 >mysql教程 >如何有效地選擇資料庫中具有非唯一列值的行?

如何有效地選擇資料庫中具有非唯一列值的行?

Barbara Streisand
Barbara Streisand原創
2024-12-22 14:53:11523瀏覽

How Can I Efficiently Select Rows with Non-Unique Column Values in a Database?

選擇具有非不同列值的行

處理資料時,可能需要檢索特定列值不重複的行清楚的。例如,在包含電子郵件地址的表中,識別不同客戶記錄中的重複電子郵件地址可能很有用。

提供的查詢採用 GROUP BY 和 HAVING 子句按電子郵件地址對行進行分組並識別出現的行不止一次。然而,據報道它存在性能問題。

另一種方法是使用 IN 子句與子查詢結合。此方法從Customers 表中選擇多次出現的電子郵件地址:

SELECT [EmailAddress], [CustomerName] 
FROM [Customers] 
WHERE [EmailAddress] IN
  (SELECT [EmailAddress] 
   FROM [Customers] 
   GROUP BY [EmailAddress] 
   HAVING COUNT(*) > 1)

此查詢效能通常比使用GROUP BY 和HAVING 子句更快,並且應該有效傳回具有重複電子郵件地址的行。

以上是如何有效地選擇資料庫中具有非唯一列值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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