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

SQL如何按source分组统计各status对应的申请数量

SQL分组统计实现方案

该需求完全可以在SQL中实现,你现有语句的问题是仅按status维度分组,没有加入source维度,因此只能返回全量指定source的状态总计数,调整分组逻辑即可得到所需结果,以下是两种常用实现方案:


方案1:行式分组统计

输出结果为每个source+status组合对应一行,适合后续对数据做二次加工处理:

SELECT 
    source,
    status, 
    count(id) AS apply_count
FROM myTable
WHERE source IN ('BB5','GGG','FEV')
GROUP BY source, status
ORDER BY source, status;

这里使用count(id)统计更准确,id是唯一非空标识,统计结果不会受status字段空值干扰。


方案2:透视表统计

输出结果为每个source对应一行,各状态申请量作为单独列展示,适合直接作为报表查看:

SELECT 
    source,
    SUM(CASE WHEN status = 'A' THEN 1 ELSE 0 END) AS accepted_count,
    SUM(CASE WHEN status = 'R' THEN 1 ELSE 0 END) AS rejected_count,
    SUM(CASE WHEN status = 'P' THEN 1 ELSE 0 END) AS pended_count,
    COUNT(id) AS total_apply_count
FROM myTable
WHERE source IN ('BB5','GGG','FEV')
GROUP BY source
ORDER BY source;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:24:10