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

SQL查询实现:仅当表中所有行status为Good时检索记录

实现思路

  • 先按business_date、load_date这两个聚合维度对数据分组
  • 用聚合函数判断分组内是否存在非Good的状态,只有完全不存在非Good状态的分组才会返回记录

参考SQL

SELECT 
    'Good' AS Status,
    business_date,
    load_date
FROM 
    替换为你的实际表名
-- 若需要限定查询的日期范围,可取消下方注释并修改对应参数
-- WHERE 
--     business_date >= '起始业务日期' 
--     AND business_date <= '结束业务日期'
--     AND load_date >= '起始加载日期'
--     AND load_date <= '结束加载日期'
GROUP BY 
    business_date, load_date
HAVING 
    COUNT(CASE WHEN status != 'Good' THEN 1 END) = 0;

逻辑说明

HAVING条件的计数逻辑会统计每个分组下状态不是Good的记录数:

  • 如果计数为0,说明该分组下所有记录的状态都是Good,就会返回你预期的结果行
  • 如果计数大于0(比如存在Inprogress的记录),该分组会被直接过滤,不会返回任何结果

你给出的示例数据中,2020-11-01、2020-12-01的分组存在状态为Inprogress的记录,执行上述SQL不会返回结果;如果把C类的状态修改为Good,就会返回你期望的那一行输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:54:11