题解 | #国庆期间近7日日均取消订单量#
国庆期间近7日日均取消订单量
https://www.nowcoder.com/practice/2b330aa6cc994ec2a988704a078a0703
SELECT *
FROM -- 3、计算出每天的近7日日均订单完成量和日均订单取消量
(SELECT
dt,
ROUND(SUM(all_finish) OVER(ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)/7, 2) finish_num_7d,
ROUND(SUM(all_cancel) OVER(ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)/7, 2) cancel_num_7d
FROM -- 2、再计算每天有多少完成订单和取消订单
(SELECT
DATE(order_time) dt,
SUM(finish_order) all_finish,
SUM(cancel_order) all_cancel
FROM -- 1、先标记出哪些是完成订单,哪些是取消订单
(SELECT
order_time,
CASE WHEN fare IS NOT NULL THEN 1 ELSE 0 END finish_order,
CASE WHEN fare IS NULL THEN 1 ELSE 0 END cancel_order
FROM
tb_get_car_order
) t1
GROUP BY DATE(order_time)
ORDER BY DATE(order_time)
) t2
) t3
WHERE dt BETWEEN DATE('2021-10-1') AND DATE('2021-10-3')
查看25道真题和解析