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

如何将count统计值分组到指定区间,统计交易表中receiver对应sender的数量分布

实现方案

核心思路

整个需求可以拆成两步实现:

  1. 先聚合计算每个接收方(receiver)对应的唯一发起方(sender)数量
  2. 对第一步得到的计数结果按指定区间分组,统计每个区间的接收方数量

兼容多数SQL方言的实现代码

-- 第一步:先统计每个receiver对应的唯一sender数量
WITH receiver_sender_stat AS (
    SELECT 
        receiver,
        COUNT(DISTINCT sender) AS unique_sender_count
    FROM 交易事务表 -- 替换成你实际的表名
    GROUP BY receiver
)
-- 第二步:按区间分组统计各区间的receiver数量
SELECT
    CASE
        WHEN unique_sender_count = 1 THEN '仅接收1个sender的交易'
        WHEN unique_sender_count BETWEEN 2 AND 5 THEN '接收2-5个sender的交易'
        WHEN unique_sender_count BETWEEN 6 AND 10 THEN '接收6-10个sender的交易'
        WHEN unique_sender_count BETWEEN 11 AND 20 THEN '接收11-20个sender的交易'
        WHEN unique_sender_count > 20 THEN '接收超过20个sender的交易'
    END AS 交易区间,
    COUNT(receiver) AS receiver数量
FROM receiver_sender_stat
GROUP BY 交易区间
-- 可选:如果需要按区间顺序排序可以加以下排序逻辑
ORDER BY 
    CASE 交易区间
        WHEN '仅接收1个sender的交易' THEN 1
        WHEN '接收2-5个sender的交易' THEN 2
        WHEN '接收6-10个sender的交易' THEN 3
        WHEN '接收11-20个sender的交易' THEN 4
        WHEN '接收超过20个sender的交易' THEN 5
    END;

注意事项

  • 如果你的数据库不支持CTE语法(比如非常老的MySQL版本),可以把CTE的逻辑改成子查询嵌套即可
  • 若需要统计包含无交易的receiver,可关联用户主表补全,没有特殊要求的话上述代码即可输出你要的效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:06:07