从SQL子集中选择行
我需要从下表中选择标题ID,其容器ID在该标题和跟踪ID集中不重复。对于标题ID,跟踪ID也应该是唯一的从SQL子集中选择行,sql,duplicates,unique,subset,Sql,Duplicates,Unique,Subset,我需要从下表中选择标题ID,其容器ID在该标题和跟踪ID集中不重复。对于标题ID,跟踪ID也应该是唯一的 Header ID Tracking ID ContainerID xx abc 123 xx def 456 yy abc 123 yy def 456 zz
Header ID Tracking ID ContainerID
xx abc 123
xx def 456
yy abc 123
yy def 456
zz ghi 123
zz ghi 123
zz ghi 456
结果集应如下所示:
Header ID
xx
yy
SQL Server试试这个,如果它是您想要的,请告诉我。我使用SQL server来实现这一点。我暂时不在论坛上。所以,在一段时间内不会回复你
select r2.HeaderID
(
select r1.HeaderID, MAX(r1.cont_num) as max_c
from
(
select headerid,count(containerid) as cont_num
from dups
group by HeaderID, containerid
) as r1
group by r1.HeaderID
having MAX(r1.cont_num) = 1
) as r2
哪个数据库-sql server、mysql、oracle、postgres???您可以使用Group byI来实现这一点。我只需要标题ID列,其中跟踪ID相同,但在该子集中,容器ID应该不同。我们应该消除所有具有重复容器ID的标题ID…就像标题ID zz具有重复容器ID(123)…因此应从结果集中省略zz。