首頁 > 資料庫 > mysql教程 > 如何從多列 SQL 查詢僅檢索唯一的電子郵件地址?

如何從多列 SQL 查詢僅檢索唯一的電子郵件地址?

Barbara Streisand
發布: 2024-12-28 11:37:20
原創
799 人瀏覽過

How Can I Retrieve Only Unique Email Addresses from a Multi-Column SQL Query?

特定欄位的DISTINCT

給定一個從產品擷取多個欄位的查詢,例如ID、電子郵件、產品名稱和產品型號表,如何修改它以僅顯示唯一的電子郵件值?

為了解決這個問題,SQL Server 2005 及更高版本提供了解決方案:

SELECT *
FROM (
    SELECT  ID, 
            Email, 
            ProductName, 
            ProductModel,
            ROW_NUMBER() OVER(PARTITION BY Email ORDER BY ID DESC) rn
        FROM Products
) a
WHERE rn = 1
登入後複製

此查詢使用ROW_NUMBER() 函數為每個電子郵件分區中的每一行分配一個行號,依ID 的降序排列。然後,rn 列標識最終結果中應包含哪一行,因為只有 rn 等於 1 的行才會被選取。

為了進一步細化查詢,可以加入 WHERE 子句來過濾基於的行根據具體標準。例如,僅包含具有特定 ProductModel 且 ProductName 包含特定子字串的行:

SELECT *
FROM (
    SELECT  ID, 
            Email, 
            ProductName, 
            ProductModel,
            ROW_NUMBER() OVER(PARTITION BY Email ORDER BY ID DESC) rn
        FROM Products
    WHERE ProductModel = 2
    AND ProductName LIKE 'CYBER%'
) a
WHERE rn = 1
登入後複製

以上是如何從多列 SQL 查詢僅檢索唯一的電子郵件地址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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