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

基于CASE条件统计列:仅当失败计数≤5时查询失败数

调整后的SQL查询方案

嘿,我来帮你搞定这个SQL逻辑调整,刚好能满足你要的「仅当失败计数≤5时才返回失败数量」的需求:

SELECT 
    SUM(CASE WHEN status_code = '200' THEN 1 ELSE 0 END) AS success,
    CASE 
        WHEN SUM(CASE WHEN status_code != '200' THEN 1 ELSE 0 END) <= 5 
        THEN SUM(CASE WHEN status_code != '200' THEN 1 ELSE 0 END) 
        ELSE NULL  -- 要是你需要默认显示0或者其他值,直接替换这里就行
    END AS failure
FROM my_table;

逻辑拆解

  • 成功计数的逻辑和你原来的查询完全一致,正常统计status_code='200'的记录总数。
  • 失败计数这块,我们先算出总的失败记录数,再套一层CASE做判断:如果总数≤5,就返回实际的失败数;如果超过5,就返回NULL(你可以根据业务场景换成0或者其他占位值)。

测试效果

用你给的测试数据(success=1,failure=2)跑这个查询,因为2≤5,所以会正常返回success=1, failure=2;要是失败数变成6,那failure字段就会显示NULL啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 22:17:53