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

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

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

WITH
	tt AS
	(
		SELECT
			a.product_id,
			shop_id,
			b.order_id,
			event_time,
			total
		FROM
			(
				SELECT
					*,
					COUNT(product_id) over(partition BY shop_id) total
				FROM
					tb_product_info
			)
			a
		LEFT JOIN tb_order_detail b
		ON
			a.product_id = b.product_id
		INNER JOIN tb_order_overall c
		ON
			b.order_id = c.order_id
	)
SELECT
	a.dts dt,
	ROUND(COALESCE(COUNT(DISTINCT product_id) / MAX(total), 0), 3) sale_rate,
	ROUND(COALESCE(1 - COUNT(DISTINCT product_id) / MAX(total), 1), 3) unsale_rate
FROM
	(
	(
		SELECT '2021-10-01' dts
	)

UNION
	(
		SELECT '2021-10-02' dts
	)

UNION
	(
		SELECT '2021-10-03' dts
	)) a INNER JOIN
	(
		SELECT
			SUBSTR(event_time, 1, 10) dts
		FROM
			tt
		GROUP BY
			SUBSTR(event_time, 1, 10)
	)
	b
ON
	a.dts = b.dts
LEFT JOIN
	(
		SELECT * FROM tt WHERE shop_id = '901'
	)
	c on
    DATEDIFF(a.dts, SUBSTR(c.event_time, 1, 10)) BETWEEN 0 AND 6
GROUP BY
	a.dts

全部评论

相关推荐

收到了小米的实习offer,犹豫是否要去。。。
认真搞学习:雷总还当过首富呢,公司不算大厂算独角兽吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务