sql - Oracle Sql Query 查找具有属性值但同时没有差异值的 id
问题描述
嗨团队,我需要一个简单的查询,我可以在其中找到合同状态 ='C' 的合作伙伴 ID,它在“A”和“B”中没有任何合同状态。我需要找到第 3 行的合作伙伴 id,因为合作伙伴 id 2 没有任何 A 或 B 合同状态。同样,我想过滤合同状态为“A”或“B”但没有合同状态的合作伙伴 id 'C' 。也就是说,我需要第 5,6 行的合作伙伴 ID。提前致谢
解决方案
另一种选择是使用分析函数MAX
,如下所示:
SELECT *
FROM (SELECT T.*,
MAX(STATUS) OVER(PARTITION BY PARTNERID) AS MAX_STATUS
FROM T)
WHERE MAX_STATUS = 'A';
推荐阅读
- ballerina - 芭蕾舞女演员 Java 演员异常
- javascript - 如何在javascript中将大小/数字分解为一个对象?
- java - java:Visual Studio Code 不读取文件
- java - 将 DynamoJson 转换为与 Dynamo 客户端兼容的东西
- sql - sql联合!额外的结果
- php - excel 或 php 公式在发票延迟每 5 个月时添加费用
- discord.js - 删除和添加角色静音命令
- oracle - 如何在oracle sql developer中选择存储过程输出参数作为表
- c# - DropDownList 总是删除第一个值?
- makefile - 如何在 makefile 中使用 g++ 编译位于不同目录中的源文件和头文件?