sql - 如何获取 SQL 中每个唯一相邻值中的值?
问题描述
我正在尝试获取与给定表中的每个 vid 值成一行的所有 oid 值。此处可以看到此类表的示例,称为 Temp1:
oid vid
-------
1 6
1 6
5 6
5 6
5 6
8 6
8 7
4 8
5 8
8 8
4 9
6 9
5 9
6 9
8 9
正如您在此表中看到的,只有 oid 值 8 与每个 vid 值成一行。可以有重复的行,并且 oid 和 vid 值可以是任何整数。
解决方案
使用聚合和having
:
select t.oid
from Temp1 t
group by t.oid
having count(distinct vid) = (select count(distinct t2.vid) from Temp1 t2);
推荐阅读
- c# - 通用控制器的衍生物可以定义路由吗
- ruby-on-rails - 在 Rails 中,如何验证属于另一个模型的模型上的属性?
- java - 如何比较和分析两个 .dmp 文件?
- excel - 如果满足一个单元格中的条件,则删除整个 Excel 行?
- python - 解析主 URL,然后解析所有兄弟 URLS
- javascript - 将逻辑从父组件移动到子组件
- ios - 制作用于调试视图层次结构的 Xcode 行为
- cookies - 注销时如何通过自定义 UI 删除在 AD B2C 中添加的自定义 cookie
- sdk - sdk-3.1.1.js:1 未捕获类型错误:无法在“URL”上执行“createObjectURL”:未找到与提供的签名匹配的函数
- json - 使用 Jest 测试本地 JSON 文件?