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

SQL计数需求:统计同时使用厨卫产品的客户(按厨房产品分组)

统计同时使用卫浴与厨房产品的客户分布

现有customer_prods表数据,需编写SQL查询,统计同时使用Bathroom(卫浴)产品与Kitchen(厨房)产品的客户,按Kitchen类的product_lvl_2(厨房子产品)分组,统计每个厨房子产品对应的符合条件的客户数量。

规则示例

  • Jim使用厨房产品b及卫浴产品,产品b的客户计数为1;
  • Pete使用厨房产品a、c及卫浴产品,产品a、c的客户计数各为1;
  • Abby仅使用卫浴产品,不计入统计。

期望输出

Kitchen ProductCustomer Count Using Bathroom Product
a2
b3
c2

表数据

CustomerProduct_lvl_1Product_lvl_2
AbbyBathroomBathroom
JeanKitchena
JimBathroomBathroom
JimKitchenb
JoeBathroomBathroom
JoeKitchenb
PeteBathroomBathroom
PeteKitchenc
PeteKitchena
RobinBathroomBathroom
RobinKitchena
SallyKitchenb
TomBathroomBathroom
TomKitchenb
TomKitchenc

建表与插入数据语句

create table customer_prods
(
    customer varchar(30),
    product_lvl_1 varchar(30),
    product_lvl_2 varchar(30),
    revenue number
)

INSERT INTO customer_prods
    (customer,product_lvl_1,product_lvl_2,revenue)
VALUES
    ('Abby','Bathroom','Bathroom',1),
    ('Jean','Kitchen','a',6),
    ('Jim','Bathroom','Bathroom',6),
    ('Jim','Kitchen','b',8),
    ('Joe','Bathroom','Bathroom',7),
    ('Joe','Kitchen','b',6),
    ('Pete','Bathroom','Bathroom',9),
    ('Pete','Kitchen','c',2),
    ('Pete','Kitchen','a',8),
    ('Robin','Bathroom','Bathroom',7),
    ('Robin','Kitchen','a',9),
    ('Sally','Kitchen','b',6),
    ('Tom','Bathroom','Bathroom',8),
    ('Tom','Kitchen','b',7),
    ('Tom','Kitchen','c',8);

SQL查询方案

SELECT 
    k.product_lvl_2 AS "Kitchen Product",
    COUNT(DISTINCT k.customer) AS "Customer Count Using Bathroom Product"
FROM 
    customer_prods k
JOIN (
    -- 筛选出同时使用卫浴和厨房产品的客户
    SELECT customer
    FROM customer_prods
    GROUP BY customer
    HAVING SUM(CASE WHEN product_lvl_1 = 'Bathroom' THEN 1 ELSE 0 END) > 0
        AND SUM(CASE WHEN product_lvl_1 = 'Kitchen' THEN 1 ELSE 0 END) > 0
) valid_customers ON k.customer = valid_customers.customer
WHERE 
    k.product_lvl_1 = 'Kitchen'
GROUP BY 
    k.product_lvl_2
ORDER BY 
    k.product_lvl_2;

思路说明

  1. 子查询valid_customers:通过分组客户,判断每个客户是否同时存在卫浴和厨房产品的记录,筛选出符合条件的客户列表;
  2. 主查询关联该客户列表,只选取厨房产品的数据,按product_lvl_2分组,统计每个厨房子产品对应的唯一客户数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:03:30