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

如何查询预定义销售人员列表及总销售额(含无销售记录人员)

实现方案

你可以通过手动构造全量销售人员临时列表+左连接销售表的方式实现需求,通用SQL写法如下:

SELECT 
    all_sellers.seller,
    COALESCE(SUM(sales.amount), 0) AS total_sales
FROM (
    -- 硬编码全部3名销售人员
    SELECT 'Alice' AS seller
    UNION ALL
    SELECT 'Bob' AS seller
    UNION ALL
    SELECT 'James' AS seller
) AS all_sellers
LEFT JOIN sales ON all_sellers.seller = sales.seller
GROUP BY all_sellers.seller

逻辑说明

  • 内层子查询通过UNION ALL拼接硬编码的销售人员名单,生成包含所有待统计人员的临时数据集,无需依赖额外的人员维度表
  • 使用LEFT JOIN左关联销售表,保证没有销售记录的人员不会被关联操作过滤
  • 聚合时通过COALESCE函数将无销售记录人员的SUM结果(NULL)替换为0,即可得到符合要求的输出

如果你的amount字段实际存储为带$符号的字符串类型,需要先将字段转换为数值类型再做求和运算,示例如下(MySQL环境):

SELECT 
    all_sellers.seller,
    COALESCE(SUM(REPLACE(sales.amount, '$', '') + 0), 0) AS total_sales
FROM (
    SELECT 'Alice' AS seller
    UNION ALL
    SELECT 'Bob' AS seller
    UNION ALL
    SELECT 'James' AS seller
) AS all_sellers
LEFT JOIN sales ON all_sellers.seller = sales.seller
GROUP BY all_sellers.seller

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 06:24:02