【问题标题】:Select Rows from a Subset SQL从子集 SQL 中选择行
【发布时间】:2014-12-12 16:07:57
【问题描述】:

我需要从下表中选择其容器 ID 在该标头中不重复的标头 ID,并且 Tracking ID Set.Tracking ID 对于标头 ID 也应该是唯一的

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 服务器

【问题讨论】:

  • 哪个数据库 - sql server, mysql, oracle, postgres ???
  • 你可以使用 Group by

标签: sql duplicates unique subset


【解决方案1】:

试试这个,让我知道它是否是你想要的。我为此使用了 SQL 服务器。我暂时不会在论坛上闲逛。所以,暂时不会回复你。

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

【讨论】:

  • 我只需要跟踪 ID 相同但在该子集中容器 ID 应该不同的标题 ID 列。我们应该消除所有具有重复容器 ID 的标题 ID...就像标题 ID zz有重复的容器 ID(123)..所以 zz 应该从结果集中省略。
猜你喜欢
  • 1970-01-01
  • 2013-11-26
  • 1970-01-01
  • 2019-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
相关资源
最近更新 更多