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

SQL查询需求:筛选仅对应Column B值为A的Column A记录

筛选仅对应Column B值为A的Column A记录

需求说明

从指定表格中筛选出Column A的记录,要求这些Column A对应的Column B仅包含值A,不存在B或C(包含小写c)。

输入表

Column AColumn B
1A
1B
1C
2A
2B
3A
3B
3c
4A
5A
5B
6A

期望输出

ColumnA
4
6

解决方案

方法1:GROUP BY + HAVING 子句

通过分组统计确保每个Column A分组内仅存在A值:

SELECT "Column A" AS ColumnA
FROM your_table
GROUP BY "Column A"
HAVING SUM(CASE WHEN "Column B" NOT IN ('A') THEN 1 ELSE 0 END) = 0;

逻辑说明:用CASE语句统计分组内非A的记录数,结果为0则表示该分组的Column B只有A。

方法2:NOT EXISTS 子查询

排除所有存在B/C/c的Column A:

SELECT DISTINCT "Column A" AS ColumnA
FROM your_table t1
WHERE NOT EXISTS (
    SELECT 1
    FROM your_table t2
    WHERE t1."Column A" = t2."Column A"
      AND t2."Column B" IN ('B', 'C', 'c')
);

逻辑说明:子查询定位出所有包含非A值的Column A,外层查询排除这些记录,得到目标结果。

方法3:EXCEPT 集合运算

用集合差集筛选出仅对应A的Column A:

SELECT "Column A" AS ColumnA FROM your_table
EXCEPT
SELECT "Column A" FROM your_table WHERE "Column B" NOT IN ('A');

逻辑说明:先获取所有Column A,减去那些存在非A值的Column A,剩余即为符合要求的记录。

以上三种方法均可得到期望的输出结果。

内容的提问来源于stack exchange,提问作者Nagarjuna GS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:45:25