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

如何用SQL统计拥有1至5个产品的合作方数量?

统计不同产品数量的合作方分布

要实现统计拥有1-5个产品的合作方数量,核心是先计算每个合作方(user)实际拥有的产品数量,再基于这个数量做分组统计。你当前的SQL片段仅按user和product分组,无法直接达成目标,以下是修正后的实现方案:

方案1:合并同类产品(x、y视为同一类)

如果需要把x和y合并为同一产品类别,统计用户拥有的不同类别数量,再统计各数量对应的合作方数:

SELECT
    product_count,
    COUNT(user) AS partner_count
FROM (
    SELECT 
        user,
        -- 合并x、y为同一类别,再统计每个用户的不同类别数
        COUNT(DISTINCT CASE 
            WHEN product IN ('x', 'y') THEN 'x'
            WHEN product = 'z' THEN 'z'
        END) AS product_count
    FROM your_table
    GROUP BY user
) AS user_product_summary
-- 只保留1-5个产品的情况
WHERE product_count BETWEEN 1 AND 5
GROUP BY product_count
ORDER BY product_count;

方案2:不合并产品,统计原始不同产品数

如果不需要合并x和y,直接统计用户拥有的原始不同产品数量:

SELECT
    product_count,
    COUNT(user) AS partner_count
FROM (
    SELECT 
        user,
        COUNT(DISTINCT product) AS product_count
    FROM your_table
    GROUP BY user
) AS user_product_summary
WHERE product_count BETWEEN 1 AND 5
GROUP BY product_count
ORDER BY product_count;

原SQL的问题说明

你当前的SQL是按user和product分组,仅能得到每个用户每个产品的记录行数(Service字段),没有完成「统计每个用户的产品总数」这一核心步骤,因此无法直接得到各产品数量区间的合作方分布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:17:06