首页 > 试题广场 >

电商平台需要对各行业销售情况综合评估

[编程题]电商平台需要对各行业销售情况综合评估
  • 热度指数:176 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
【背景】:电商平台需要对各行业销售情况综合评估,以确定优秀商家和需要改进的商家。
【原始表】:
merchants_underline (商家)表:
  • merchant_id (商家 ID): 商家的唯一标识符,INT
  • merchant_name (商家名称): 商家的名称,VARCHAR(50)
  • industry (行业): 商家所属的行业,VARCHAR(20)
sales_underline (销售)表:
  • sale_id (销售 ID): 销售记录的唯一标识符,INT
  • merchant_id (商家 ID): 关联商家表的商家 ID,INT
  • sale_amount (销售金额): 销售的金额,DECIMAL(10, 2)
【要求】:根据上述表格,查询出每个行业的总销售额。查询结果按照行业总销售额降序排列,如果销售金额一致按照行业名称升序排列。要求查询出来的表格的字段如下:
  • industry行业
  • total_sales_amount: 总销售金额。
【示例】
merchants_underline (商家)表:

sales_underline (销售)表:
【按要求查询出来的表】
【解释】
上述示例中,“服装”行业相关的商家有2个,和2个商家相关的销售信息有2条,分别是sale_id 1和4,这两条销售数据的总销售额是5000+6000 = 11000;
示例1

输入

DROP TABLE IF EXISTS merchants_underline;
DROP TABLE IF EXISTS sales_underline;

-- 创建表
CREATE TABLE merchants_underline (
    merchant_id INT PRIMARY KEY,
    merchant_name VARCHAR(50),
    industry VARCHAR(20)
);

CREATE TABLE sales_underline (
    sale_id INT PRIMARY KEY,
    merchant_id INT,
    sale_amount DECIMAL(10, 2)
);


-- 插入数据
INSERT INTO merchants_underline (merchant_id, merchant_name, industry)
VALUES (1, '商家 A', '服装'),
       (2, '商家 B', '电子产品'),
       (3, '商家 C', '电子产品'),
       (4, '商家 D', '服装');

INSERT INTO sales_underline (sale_id, merchant_id, sale_amount)
VALUES (1, 1, 5000.00),
       (2, 2, 8000.00),
       (3, 3, 4000.00),
       (4, 4, 6000.00);




select * from merchants_underline;
select * from sales_underline;

输出

industry|total_sales_amount
电子产品|12000.00
服装|11000.00
select m.industry,
       sum(s.sale_amount) as total_sales_amount
from sales_underline as s
left join merchants_underline as m
on s.merchant_id=m.merchant_id
group by m.industry
order by total_sales_amount desc,m.industry

发表于 2025-06-25 23:27:39 回复(0)