首页 > 解决方案 > 获取 SQL 中基于标志的 ID 的唯一元素的差异

问题描述

我有一个 SQL 表,我想按 ID 从中提取唯一元素,比较不同的组,例如:

ID,Group,Product
a,2,33
a,1,83
b,3,51
c,2,33
b,1,20
a,3,20
b,2,51
a,2,83

如果我有两个相同 ID 的产品在不同的组中相等,那么我不会保存它们。结果如下:

ID,Group,Unique
a,2,33
c,2,33
b,1,20
a,3,20

我正在用SQL尝试这个,但我不知道该怎么做,请帮助我!

标签: sqlteradata

解决方案


删除具有相同产品和不同组的所有行:

select * 
from yourtable a 
where not exists(
    select 1 from yourtable b where a.Product = b.Product and a.Group <> b.Group
)

推荐阅读