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

如何从CandidateInterview表查询仅持有Not Yet状态无其他状态的候选人

注:根据你提供的测试数据映射关系:Status=1 对应 Not yet,Status≥2 对应其他面试状态。

解决方案

方法1:分组聚合筛选(写法简洁直观)

SELECT CandidateID
FROM CandidateInterview
GROUP BY CandidateID
HAVING MAX(Status) = 1;

逻辑说明:按候选人ID分组后,只要该候选人所有面试记录的最大状态值为1,就说明他没有其他大于1的状态,完全符合要求。用你提供的测试数据执行后,返回结果为120,符合预期。

方法2:NOT EXISTS 排除法(大表查询性能更优)

SELECT DISTINCT ci1.CandidateID
FROM CandidateInterview ci1
WHERE ci1.Status = 1
AND NOT EXISTS (
    SELECT 1 
    FROM CandidateInterview ci2 
    WHERE ci2.CandidateID = ci1.CandidateID 
    AND ci2.Status != 1
);

逻辑说明:先筛选出有Not yet状态的候选人,再排除掉这些候选人中存在其他状态的记录,剩下的就是仅存在Not yet状态的候选人。

内容的提问来源于stack exchange,提问作者Martin James

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:01