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

如何按条件拆分列并统计不同类型卖家数量(SQL实现)

正确SQL实现品牌-卖家类型统计

要实现按品牌分组,分别统计Amazon和3rd Party卖家的数量,你需要使用条件聚合(行转列)的方式编写SQL,具体实现如下:

最终SQL语句

SELECT 
    Brand,
    COUNT(CASE WHEN SUBSTRING([Buy Box Seller], 1, 9) = 'Amazon' THEN 1 END) AS Amazon,
    COUNT(CASE WHEN SUBSTRING([Buy Box Seller], 1, 9) = '3rd Party' THEN 1 END) AS [3rd Party]
FROM italy_keepa
WHERE [Buy Box Seller] IS NOT NULL
GROUP BY Brand
ORDER BY Brand;

逻辑说明

  1. 条件聚合实现行转列:
    • 通过CASE WHEN判断每行的卖家类型,符合目标类型时返回1,否则返回NULL
    • COUNT函数会自动忽略NULL值,最终统计出对应类型的卖家数量
  2. 对齐原始字段处理:直接复用你生成BB_seller的SUBSTRING逻辑,确保统计维度和原始数据一致
  3. 过滤无效数据:保留WHERE [Buy Box Seller] IS NOT NULL条件,避免空值干扰统计结果

原SQL错误原因

你之前使用的COUNT(DISTINCT [Buy Box Seller]),逻辑是统计每个品牌下不同卖家名称的数量,而非按"Amazon/3rd Party"分类统计,因此结果和预期不符。

测试数据验证

用你提供的测试数据执行上述SQL,会得到如下结果:

BrandAmazon3rd Party
Biotherm10
BVLGARI02
Carolina Herrera10
Chanel20

完全匹配你需要的统计格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:13:12