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

如何查找不存在指定列值的记录?以无Type=A的Accountid为例

查找无Type=A记录的Accountid的SQL方案

要找出所有不存在Type = 'A'记录的Accountid对应的全部行数据,以下是几种高效的SQL实现方式:

方法1:使用NOT EXISTS子查询

这是最直观且性能优异的方案,通过子查询校验当前Accountid是否存在Type='A'的记录:

SELECT t1.*
FROM your_table t1
WHERE NOT EXISTS (
    SELECT 1
    FROM your_table t2
    WHERE t2.Accountid = t1.Accountid
      AND t2.Type = 'A'
);

方法2:使用LEFT JOIN + IS NULL

通过自连接筛选未匹配到Type='A'的记录:

SELECT t1.*
FROM your_table t1
LEFT JOIN your_table t2
  ON t1.Accountid = t2.Accountid
  AND t2.Type = 'A'
WHERE t2.Accountid IS NULL;

方法3:分组统计筛选

先分组统计每个Accountid下Type='A'的记录数,再关联原表获取目标行:

SELECT t.*
FROM your_table t
INNER JOIN (
    SELECT Accountid
    FROM your_table
    GROUP BY Accountid
    HAVING SUM(CASE WHEN Type = 'A' THEN 1 ELSE 0 END) = 0
) sub ON t.Accountid = sub.Accountid;

结果验证

针对示例数据表执行以上任意查询,都会得到预期结果:

AccountidSubidType
00315B
00316C

内容的提问来源于stack exchange,提问作者Sal Kuk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:44:53