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

求SQL查询语句:筛选含111但不含101的同Data值记录

解决方案

假设你的数据表名为your_table,包含Data和value两个字段(可根据实际字段名修改),以下两种方式可实现需求:

方法一:子查询排除法

SELECT *
FROM your_table
WHERE Data IN (
    SELECT Data
    FROM your_table
    WHERE value = 111
)
AND Data NOT IN (
    SELECT Data
    FROM your_table
    WHERE value = 101
);

方法二:分组统计筛选法

SELECT t.*
FROM your_table t
JOIN (
    SELECT Data
    FROM your_table
    GROUP BY Data
    HAVING SUM(CASE WHEN value = 111 THEN 1 ELSE 0 END) > 0
       AND SUM(CASE WHEN value = 101 THEN 1 ELSE 0 END) = 0
) filtered_data ON t.Data = filtered_data.Data;

简要说明

  • 方法一先定位所有包含111的Data,再排除掉包含101的Data,最终取出符合要求的记录。
  • 方法二通过分组统计每个Data下111和101的出现次数,直接筛选出有111且无101的Data,再关联原表获取对应记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:54:04