首页 > 试题广场 >

评估2023年不同品牌商品的销售趋势和客户满意度

[编程题]评估2023年不同品牌商品的销售趋势和客户满意度
  • 热度指数:550 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
【背景】:电商平台需要评估不同品牌商品的销售趋势和客户满意度。
【原始表】:
sales_data(销售数据)表:
  • sales_id (销售 ID): 销售的唯一标识符
  • brand_id (品牌 ID): 商品的品牌 ID
  • sales_amount (销售金额): 销售的金额
  • sales_quantity (销售数量): 销售的商品数量
  • sales_month (销售月份): 销售发生的月份(格式:YYYY-MM)


customer_feedback(客户反馈)表:
  • feedback_id (反馈 ID): 客户反馈的唯一标识符
  • sales_id (销售 ID): 关联的销售 ID
  • satisfaction_score (满意度评分): 客户的满意度评分(1 - 5 分)


【要求】:根据上面这两个表格,查询每个品牌在2023年一年里总销售额、总销售数量以及平均客户满意度评分。查询出来的数据按照品牌 ID 升序排列。要求查询出来的表格的字段如下:
  • brand_id: 品牌 ID。
  • total_sales_amount : 总销售额。
  • total_sales_quantity: 总销售量。
  •  avg_satisfaction_score : 平均客户满意度评分。(round保留2位小数)
【示例】:
sales_data(销售数据)表:

customer_feedback(客户反馈)表:
【按要求查询出来的表】
【解释】:
上述sales_data(销售数据)表中有4笔销售数据,有3笔是2023年的数据,有1笔是2024年的数据,按照要求只查询出来2023年的数据,所以是sales_id 1、2、3,其中1、3是和品牌id是1的产品有关,2是和品牌id2有关,所以品牌id1的销售总金额是500+400 = 900,销售总数量是10+6 = 16,评价平均分是(4+5)/2 = 4.5

示例1

输入

DROP TABLE IF EXISTS sales_data;
DROP TABLE IF EXISTS customer_feedback;
-- 创建表
CREATE TABLE sales_data (
    sales_id INT PRIMARY KEY,
    brand_id INT,
    sales_amount DECIMAL(10, 2),
    sales_quantity INT,
    sales_month VARCHAR(7)
);

CREATE TABLE customer_feedback (
    feedback_id INT PRIMARY KEY,
    sales_id INT,
    satisfaction_score INT
);

-- 插入数据
INSERT INTO sales_data (sales_id, brand_id, sales_amount, sales_quantity, sales_month)
VALUES (1, 1, 500.00, 10, '2023-05'),
       (2, 2, 300.00, 8, '2023-06'),
       (3, 1, 400.00, 6, '2023-07'),
       (4, 3, 600.00, 6, '2024-06');

INSERT INTO customer_feedback (feedback_id, sales_id, satisfaction_score)
VALUES (1, 1, 4),
       (2, 2, 3),
       (3, 3, 5),
       (4, 4, 5);

select * from sales_data;
select * from customer_feedback;

输出

brand_id|total_sales_amount|total_sales_quantity|avg_satisfaction_score
1|900.00|16|4.50
2|300.00|8|3.00
select brand_id,sum(sales_amount) total_sales_amount,
        sum(sales_quantity) total_sales_quantity,
        round(avg(satisfaction_score),2) avg_satisfaction_score
from sales_data s
left join customer_feedback c
using(sales_id)
where sales_month between "2023-01" and "2023-12"
group by brand_id
order by brand_id
发表于 2025-07-01 12:25:38 回复(0)