sql - 获取 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尝试这个,但我不知道该怎么做,请帮助我!
解决方案
删除具有相同产品和不同组的所有行:
select *
from yourtable a
where not exists(
select 1 from yourtable b where a.Product = b.Product and a.Group <> b.Group
)
推荐阅读
- docker - 在 Windows 上的 docker 命令中找不到输入文件
- angular - 配置在 angular.json 中创建多个文件的多个入口点
- javascript - 如何使用 Ruby on Rails 4 后端为 React 应用程序提供服务
- .net - 编译器如何在 Dot Net Work Flow 过程中获取 DLL?
- spring - Spring Data R2DBC 是否与 Reactive Redis 冲突
- c - 在 linux 上针对外部库构建 C 应用程序
- javascript - 使用基本 HTML 和 JS 修复简单文本字段值更改器中的问题
- javascript - 使用 javascript 正则表达式查找不在引号内的注释
- python - 是否有任何 boto3 函数/API 可用于将快照从一个 AWS 账户复制到另一个 AWS 账户?
- javascript - 在 DataTable 中显示数据时请求的未知参数