题解 | #店铺901国庆期间的7日动销率和滞销率#

店铺901国庆期间的7日动销率和滞销率

https://www.nowcoder.com/practice/e7837f66e8fb4b45b694d24ea61f0dc9

select dt,round(count(distinct product_id)/onsale_cnt,3) as sale_rate,
1 - round(count(distinct product_id)/onsale_cnt,3) as unsale_rate
from
(SELECT DATE(event_time) dt,COUNT( DISTINCT CASE WHEN event_time>=release_time THEN product_id END) onsale_cnt
	FROM tb_order_overall,tb_product_info WHERE shop_id='901' AND DATE(event_time) BETWEEN '2021-10-01' AND '2021-10-03' GROUP BY dt) as t1
LEFT JOIN (
	SELECT DATE(event_time)ddt,product_id FROM tb_order_overall
	LEFT JOIN tb_order_detail USING(order_id)
	LEFT JOIN tb_product_info USING(product_id) WHERE shop_id='901'
	AND DATEDIFF('2021-10-03',DATE(event_time)) BETWEEN 0 AND 8
) t2 ON DATEDIFF(dt,ddt) BETWEEN 0 AND 6
group by dt
order by dt

先统计在货架上的商品数量,然后统计国庆前三天的七天内每天的售出商品,

连接两个表的条件是日期差在7天之内,然后按照日期分组排序即可,

比较难的地方就在于两张表连接的条件

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务