【背景】:电商平台想要评估商品的销售绩效和利润贡献,以便优化商品策略。 【原始表】: product_category (商品类别)表: product_id (商品 ID): 商品的唯一标识符 category_id (类别 ID): 商品所属的类别 ID product_name (商品名称): 商品的名称 sales_and_profit (销售与利润)表: product_id (商品 ID): 商品的唯一标识符,用于关联商品类别表中的商品 sales_amount (销售金额): 商品的销售金额 cost_amount (成本金额): 商品的成本金额 【要求】:根据上面这两个表格,查询出不同类别商品中,销售金额排名前三且利润率超过 20%的商品信息,包含的字段:商品 ID、商品名称、所属类别 ID、销售金额、利润率((销售金额 - 成本金额) 销售金额)。查询出来的数据先按照类别 ID 升序排列,再按照销售金额降序排列,如果金额一致按照产品ID升序排列。要求查询出来的表格的字段如下: product_id: 商品的唯一标识符。 product_name: 商品的名称。 category_id: 类别 ID。 sales_amount: 销售金额。 profit_rate: 利润率。 【示例】 product_category (商品类别)表: sales_and_profit (销售与利润)表: 【按照要求查询出来的表】 【解释】 上述示例中,商品类别是1的产品ID有1、2、3、4,其中符合销售金额排名前三且利润率超过 20%的商品信息要求的只有产品ID2、3的产品,按照要求排序就是产品ID3排在产品ID2前面
示例1

输入

DROP TABLE IF EXISTS product_category4;
DROP TABLE IF EXISTS sales_and_profit;

-- 创建表
CREATE TABLE product_category (
    product_id INT PRIMARY KEY,
    category_id INT,
    product_name VARCHAR(50)
);

CREATE TABLE sales_and_profit (
    product_id INT PRIMARY KEY,
    sales_amount DECIMAL(10, 2),
    cost_amount DECIMAL(10, 2)
);

-- 插入数据
INSERT INTO product_category (product_id, category_id, product_name)
VALUES (1, 1, '商品 A'),
       (2, 1, '商品 B'),
       (3, 1, '商品 C'),
       (4, 1, '商品 D'),
       (5, 2, '商品 1'),
       (6, 2, '商品 2'),
       (7, 2, '商品 3'),
       (8, 2, '商品 4');

INSERT INTO sales_and_profit (product_id, sales_amount, cost_amount)
VALUES (1, 500, 50),
       (2, 800, 200),
       (3, 8000, 4000),
       (4, 700, 600),
       (5, 800, 500),
       (6, 1000, 500),
       (7, 200, 50),
       (8, 800, 500);

select * from product_category;
select * from sales_and_profit;

输出

product_id|product_name|category_id|sales_amount|profit_rate
3|商品 C|1|8000.00|0.50
2|商品 B|1|800.00|0.75
6|商品 2|2|1000.00|0.50
5|商品 1|2|800.00|0.38
8|商品 4|2|800.00|0.38
加载中...