首頁 >資料庫 >mysql教程 >如何在 SQL 中尋找和檢索具有非唯一列值的行?

如何在 SQL 中尋找和檢索具有非唯一列值的行?

Susan Sarandon
Susan Sarandon原創
2024-12-19 17:25:09881瀏覽

How to Find and Retrieve Rows with Non-Unique Column Values in SQL?

查詢具有非不同列值的行

在 SQL 中,常見的任務是檢索特定列的值為不明顯。這對於識別重複資料或檢測異常非常有用。

範例場景

考慮一個名為 Customers 的表,其中包含以下資料:

CustomerName EmailAddress
Aaron [email protected]
Christy [email protected]
Jason [email protected]
Eric [email protected]
John [email protected]

要檢索 EmailAddress所有列不重複的行,我們可以使用以下指令查詢:

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

解釋

IN 子句過濾子查詢中找到的 EmailAddress 值。子查詢將所有 EmailAddress 值分組並計算每個值的出現次數。然後,HAVING 子句僅選擇出現多次的群組(即非不同值)。

透過使用這種方法,我們可以有效地識別並傳回 EmailAddress 列不明顯的行。在大多數情況下,此方法比使用 EXISTS 運算子要快得多。

以上是如何在 SQL 中尋找和檢索具有非唯一列值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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