2017-02-13 79 views
1

我得到的ID和代表該ID我得到一個圖像中的我附上記錄的詳細信息記錄列表列表 enter image description here如何獲得特殊的電子郵件ID與muiltiple記錄,其中ID = @ ID

,你在圖片中看到我收到重複的電子郵件ID,所以使得電子郵件ID唯一我用這個查詢 這裏是我的查詢

WITH cte AS 
( SELECT *, ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID Desc) AS rn 
    FROM AlertsTbl 
) 
SELECT * 
FROM cte 
WHERE rn = 1 

,所以我通過這個獲得獨特的電子郵件ID,但問題是我怎麼能通過在圖像中選擇的ID來顯示只有唯一的電子郵件地址的記錄SS?

+1

你能告訴我們一些樣品和預期的結果嗎?聽起來像'WHERE ID = @ID GROUP BY Email HAVING COUNT(1)= 1' – Prisoner

+0

你想要具有唯一電子郵件的記錄嗎?其獨特的電子郵件 –

+0

是的,先生記錄,其中電子郵件IN( 選擇電子郵件 FROM AlertsTbl GROUP BY電子郵件 HAVING COUNT(*)= 1) –

回答

0

希望,我正確理解你的問題。

試圖創建類似的情況。我想下面的查詢可能會有幫助。

Sqlfiddle鏈接 - http://sqlfiddle.com/#!6/8419b/1/0

WITH cte AS 
( 
SELECT email , 
id, ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID Desc) AS rn , 
count(email) over (PARTITION BY Email) cnt 
    FROM so_test 
) 
    SELECT * 
FROM cte 
WHERE cnt = 1; 
+0

我已經應用了您的解決方案 –

+0

如何在上述查詢中通過ID –

+0

對不起,我不明白。請解釋你想說的話 – Tajinder

0
SELECT * FROM AlertsTbl 
WHERE Email IN (
SELECT Email 
FROM AlertsTbl 
GROUP BY Email 
HAVING COUNT(*) = 1) 
0

你的問題是有點混亂。你想獲得個人ID的不同的電子郵件ID。但是您已經存儲了重複的電子郵件ID以用於多個ID。如果您傳遞一個ID,那麼您將獲得一個電子郵件ID。 如果你只想要獨特的電子郵件ID,那麼你可以使用

Select Distinct(EMail) FROM AlertsTbl 
相關問題