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

技术问询:查询2013年每位卖家销售PS4的总收入(quantity*product_price)

解决PS4 2013年卖家总收入查询问题

嘿,针对你要查询每位卖家在2013年销售PS4的总收入这个需求,我整理了完整的SQL解决方案,一步步给你拆解:

核心思路

我们需要关联三个表:seller(卖家信息)、product(产品信息)、sale(销售记录),然后完成以下关键操作:

  • 筛选出产品为PS4的销售记录
  • 筛选出销售日期在2013年的记录
  • 按卖家分组,计算每组的quantity * product_price总和(也就是总收入)

完整SQL查询语句

SELECT 
    s.id AS seller_id,
    s.seller_name,
    SUM(sa.quantity * p.product_price) AS total_revenue
FROM 
    seller s
JOIN 
    sale sa ON s.id = sa.seller_id
JOIN 
    product p ON sa.product_id = p.id
WHERE 
    p.product_name = 'PS4'
    AND YEAR(sa.date) = 2013
GROUP BY 
    s.id, s.seller_name;

语句细节解释

  • JOIN关联表:用INNER JOIN把三个表通过外键关联起来(卖家ID、产品ID),确保只保留有对应PS4销售记录的卖家
  • WHERE筛选条件:
    • p.product_name = 'PS4' 精准锁定目标产品
    • YEAR(sa.date) = 2013 提取日期中的年份,筛选2013年的销售数据
  • GROUP BY分组:按卖家的ID和姓名分组,保证每个卖家在结果中只出现一行
  • SUM计算总收入:把每条符合条件的销售记录的数量*单价相加,得到该卖家的总营收

可选扩展:包含无PS4销售的卖家

如果你想显示所有卖家(哪怕2013年没卖过PS4的,总收入显示0),可以把INNER JOIN改成LEFT JOIN,并给SUM加个默认值处理空值:

SELECT 
    s.id AS seller_id,
    s.seller_name,
    COALESCE(SUM(sa.quantity * p.product_price), 0) AS total_revenue
FROM 
    seller s
LEFT JOIN 
    sale sa ON s.id = sa.seller_id AND YEAR(sa.date) = 2013
LEFT JOIN 
    product p ON sa.product_id = p.id AND p.product_name = 'PS4'
GROUP BY 
    s.id, s.seller_name;

这里用COALESCE把无销售记录时的NULL转换成0,结果更直观易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:33:02