[英]Distinct on only one column
我只想使用SQL Management Studio獲得不同的帳戶
SELECT DISTINCT [Account]
,[Opportunity Name]
,[LeadContact Email]
,[LeadContact Name]
,[LeadContact Status]
FROM NAME
WHERE [Account Addr Country] LIKE '%US%'
AND [LeadContact Name] NOT LIKE '%Test%'
ORDER BY [Account]
在SQL Server中,可以使用ROW_NUMBER()
:
SELECT Account, [Opportunity Name], [LeadContact Email],
[LeadContact Name], [LeadContact Status]
FROM (SELECT n.*,
ROW_NUMBER() OVER (PARTITION BY Account ORDER BY Account) as seqnum
FROM NAME n
WHERE [Account Addr Country] LIKE '%US%' AND
[LeadContact Name] NOT LIKE '%Test%'
) n
WHERE seqnum = 1;
這將選擇一個不確定的行。 如果要特定的行(例如最早,最新,最大或最小),則可以調整ORDER BY
子句。
我認為,最簡單的方法是以下請求:
SELECT
[Account]
,[Opportunity Name]
,[LeadContact Email]
,[LeadContact Name]
,[LeadContact Status]
FROM NAME n inner join (
SELECT distinct [Account] FROM NAME
WHERE [Account Addr Country] LIKE '%US%'
AND [LeadContact Name] NOT LIKE '%Test%' ORDER BY [Account]) n2
on n.Account = n2.account
第一個內部請求檢索所有不同的帳戶,第二個內部請求檢索補充信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.