You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选同一ID下不同CODE中无匹配VALUE的记录?

解决方案:找出同一ID下其他CODE无匹配VALUE的记录

需求明确

从下表中筛选出同一ID范围内,当前记录的VALUE在其他CODE中完全没有匹配的行:

IDCODEVALUE
1A123
1A456
1C123
1B789
2A344
2B344

预期结果:

ID 1, CODE B VALUE 789 NOT FOUND
ID 1, CODE A VALUE 456 NOT FOUND


实现方法

方法1:使用NOT EXISTS子查询

直接检查当前记录的VALUE在同ID下的其他CODE中是否存在,不存在则保留:

SELECT 
    CONCAT('ID ', t.ID, ', CODE ', t.CODE, ' VALUE ', t.VALUE, ' NOT FOUND') AS result
FROM 
    your_table t
WHERE 
    NOT EXISTS (
        SELECT 1
        FROM your_table t2
        WHERE 
            t2.ID = t.ID          -- 限定同一ID
            AND t2.CODE != t.CODE -- 排除当前CODE
            AND t2.VALUE = t.VALUE-- 匹配VALUE
    );

方法2:使用窗口函数统计CODE数量

先按ID和VALUE分组,统计该VALUE对应的不同CODE总数,总数为1说明该VALUE只在单个CODE中出现:

WITH value_code_stats AS (
    SELECT 
        ID, CODE, VALUE,
        COUNT(DISTINCT CODE) OVER (PARTITION BY ID, VALUE) AS distinct_code_count
    FROM your_table
)
SELECT 
    CONCAT('ID ', ID, ', CODE ', CODE, ' VALUE ', VALUE, ' NOT FOUND') AS result
FROM value_code_stats
WHERE distinct_code_count = 1;

注意:将上述代码中的your_table替换为你的实际表名即可执行。


内容的提问来源于stack exchange,提问作者Murilo Rodrigues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:30:43