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

按不同列值Group By并Pivot:请求类型分组统计问题

解决按Request Type和Action分组统计的问题

核心思路

要实现所有Request Type与指定Action(endorsed、approved、issued)的完整统计,关键是先生成两者的全部组合,再关联原始数据统计,避免因原始数据缺失导致的记录遗漏。


用SQL实现的方案

假设你的原始数据表名为requests,包含request_type和action两个字段,可通过以下SQL完成统计:

-- 生成所有Request Type与目标Action的完整组合
WITH all_combinations AS (
    SELECT DISTINCT rt.request_type, a.action
    FROM (SELECT DISTINCT request_type FROM requests) rt
    -- 枚举需要统计的三个Action
    CROSS JOIN (
        SELECT 'endorsed' AS action 
        UNION ALL SELECT 'approved' 
        UNION ALL SELECT 'issued'
    ) a
)
-- 关联原始数据并统计数量
SELECT
    ac.request_type,
    ac.action,
    COUNT(r.request_type) AS count
FROM all_combinations ac
LEFT JOIN requests r 
    ON ac.request_type = r.request_type 
    AND ac.action = r.action
GROUP BY ac.request_type, ac.action
ORDER BY ac.request_type, ac.action;

逻辑说明

  1. CROSS JOIN生成每个Request Type与三个Action的所有可能组合,确保没有遗漏的配对;
  2. LEFT JOIN保留所有组合记录,即使原始表中没有对应的数据;
  3. COUNT(r.request_type)会将未匹配到的记录统计为0,而非直接忽略。

用Excel实现的方案

如果用Excel处理,可按以下步骤操作:

  • 第一步:提取原始表中所有唯一的Request Type到一列(比如A列),将三个Action(endorsed、approved、issued)作为表头放在第一行(比如B1、C1、D1);
  • 第二步:在B2单元格输入公式=COUNTIFS(原始数据!$A:$A, $A2, 原始数据!$B:$B, B$1),按回车后填充整个表格,缺失的配对会自动显示0。

内容的提问来源于stack exchange,提问作者Robert John Catequista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:53:17