Sql 服务器结果返回重复项和不同项,其他内容无效

Sql server results returning duplicates and distinct and other things are not working

我有一个 table,其中包含一个外键 DOCCCOIssuesId,该列多次具有相同的值。现在最终使记录唯一的是另一个列 AcceptedByNTID 不为空。

由于某些原因,我有一些重复的条目导致了问题。 (是的,最终需要解决这个问题以确保唯一的行) 现在我有结果

DOCCCOIssuesId      AcceptedByNTID 
   1                  abc
   14                 def
   14                 hij
   15                 abc
   16                 def
   16                 abc

所以我只想 select 在 AcceptedByNTID 中有值的记录,但我只想获取一个不同的 DOCCCOIssuesId 而不是任何给定的 DOCCCOIssuesId 中的 > 1

select 
     DOCCCOIssuesId
    ,AcceptedByNTID 
FROM 
    [ESO].[ESO].[DOCCCOIssuesResponse] dir
where  
     dir.AcceptedByNTID IS NOT NULL

我尝试了 distinct、subquery、group by、having、max,只是没搞清楚。

我想要的结果

DOCCCOIssuesId      AcceptedByNTID 
   1                  abc
   14                 def
   15                 abc
   16                 def

使用group by:

select MIN(DOCCCOIssuesId), AcceptedByNTID 
from [ESO].[ESO].[DOCCCOIssuesResponse] dir
where dir.AcceptedByNTID IS NOT NULL
group by AcceptedByNTID;

min()(或max())是该列的任意值。

编辑:

我误解了这个问题。你似乎只想要 select distinct:

select distinct DOCCCOIssuesId, AcceptedByNTID 
from [ESO].[ESO].[DOCCCOIssuesResponse] dir
where dir.AcceptedByNTID IS NOT NULL;

将您的 DOCCCOIssuesId 分组并得到其中的 MIN

SELECT MIN(DOCCCOIssuesId)
       , AcceptedByNTID
FROM [ESO].[ESO].[DOCCCOIssuesResponse] dir
WHERE dir.AcceptedByNTID IS NOT NULL GROUP BY DOCCCOIssuesId, AcceptedByNTID