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

如何统计仅访问Alpha店、Beta店及两店都访问的客户数量

需求与实现方案

现有Order表的结构及数据如下:

原Order表

customer_idtransactionstore
1AAlpha
1BBeta
2CAlpha
3DBeta
3DBeta
4EBeta

需要完成两项操作:

  • 为每个客户新增store_visit字段,标记其门店访问类型:仅访问Alpha填Alpha,仅访问Beta填Beta,两者都访问填Both
  • 统计不同访问类型的客户数量

预期客户标记结果

customer_idstore_visit
1Both
2Alpha
3Beta
4Beta

最终统计结果

store_visitcount
Both1
Alpha1
Beta2

SQL实现代码

生成客户访问类型标记

WITH customer_unique_stores AS (
    -- 去重每个客户的门店记录,避免重复统计
    SELECT DISTINCT customer_id, store
    FROM `Order`
),
customer_visit_tags AS (
    SELECT
        customer_id,
        CASE
            WHEN COUNT(DISTINCT store) = 2 THEN 'Both'
            WHEN MAX(store) = 'Alpha' THEN 'Alpha'
            ELSE 'Beta'
        END AS store_visit
    FROM customer_unique_stores
    GROUP BY customer_id
)
SELECT * FROM customer_visit_tags;

统计各访问类型的客户数量

WITH customer_unique_stores AS (
    SELECT DISTINCT customer_id, store
    FROM `Order`
),
customer_visit_tags AS (
    SELECT
        customer_id,
        CASE
            WHEN COUNT(DISTINCT store) = 2 THEN 'Both'
            WHEN MAX(store) = 'Alpha' THEN 'Alpha'
            ELSE 'Beta'
        END AS store_visit
    FROM customer_unique_stores
    GROUP BY customer_id
)
SELECT
    store_visit,
    COUNT(customer_id) AS count
FROM customer_visit_tags
GROUP BY store_visit;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:01:47