表: 订单表 +-------------+---------+ 字段名称 类型 +-------------+---------+ 订单号 varchar 商品号 varchar 下单时间 date 金额 int 数量 int +-------------+---------+ 该表的每一行表示订单信息,包含订单号、商品号、下单时间、金额和数量 表: 退款表 +-------------+---------+ 字段名称 类型 +-------------+---------+ 订单号 varchar 商品号 varchar 退款时间 date 金额 int 数量 int +-------------+---------+ 该表的每一行表示订单退款信息,包含订单号、商品号、退款时间、金额和数量 两表通过字段订单号、商品号关联,分析各订单的退款率,其中退款率 = 退款金额 订单金额。 查询结果如下例所示。 示例 1: 输入: 表:订单表 +---------+---------+---------+---------+---------+ 订单号 商品号 下单时间 金额 数量 +---------+---------+---------+---------+---------+ 00A sku01 202231 80 2 00A sku02 202231 60 1 00B sku01 202232 40 1 00B sku03 202232 150 5 +---------+---------+---------+---------+---------+ 表:退款表 +---------+---------+---------+---------+---------+ 订单号 商品号 退款时间 金额 数量 +---------+---------+---------+---------+---------+ 00A sku01 202242140 1 00A sku02 202242160 1 00B sku01 202242140 1 00B sku03 202242160 2 +---------+---------+---------+---------+---------+ 输出: +---------+---------+ 订单号 退款率 +---------+---------+ 00A 71% 00B 53% +---------+---------+ 解释: 通过订单号和商品号将两张表关联起来,对于订单A一共退了100140=71%;对于订单B一共退了100190=53%
示例1

输入

CREATE TABLE `订单表` 
(
    `订单号`   VARCHAR(512),
    `商品号`   VARCHAR(512),
    `下单时间` DATE,
    `金额`     INT,
    `数量`     INT
);
CREATE TABLE `退款表` 
(
    `订单号`   VARCHAR(512),
    `商品号`   VARCHAR(512),
    `退款时间` DATE,
    `金额`     INT,
    `数量`     INT
);
INSERT INTO `订单表` (`订单号`, `商品号`, `下单时间`, `金额`, `数量`) VALUES 
('00A', 'sku01', '2022-03-01', 80, 2),
('00A', 'sku02', '2022-03-01', 60, 1),
('00B', 'sku01', '2022-03-02', 40, 1),
('00B', 'sku03', '2022-03-02', 150, 5);
INSERT INTO `退款表` (`订单号`, `商品号`, `退款时间`, `金额`, `数量`) VALUES 
('00A', 'sku01', '2022-04-21', 40, 1),
('00A', 'sku02', '2022-04-21', 60, 1),
('00B', 'sku01', '2022-04-21', 40, 1),
('00B', 'sku03', '2022-04-21', 60, 2);

输出

订单号|退款率
00A|0.7143
00B|0.5263
加载中...