题解 | #某宝店铺动销率与售罄率#

某宝店铺动销率与售罄率

http://www.nowcoder.com/practice/715dd44c994f45cb871afa98f1b77538

JOIN product_tb和sales_tb之后,由于sales_tb中记录了同一标签商品多次被购买的记录,product_tb中某些被多次购买商品的inventory和tag_price会出现多次,所以相加时用DISTINCT只加一次即可。

SELECT 
	style_id,
    ROUND(SUM(sales_num) / (SUM(DISTINCT inventory) - SUM(sales_num)) * 100, 2) AS 'pin_rate (%)',
    ROUND(SUM(sales_price) / SUM(DISTINCT tag_price * inventory) * 100, 2) AS 'sell-through_rate (%)'
FROM product_tb
JOIN sales_tb USING (item_id)
GROUP BY style_id
ORDER BY style_id

(以上的版本有误) 以下是修改过的。

SELECT 
	style_id,
    ROUND(total_sales_m / (total_inventory - total_sales_m) * 100, 2) AS 'pin_rate(%)',
    ROUND(total_price / total_tag_price * 100, 2) AS 'sell-through_rate(%)'
FROM
(
	SELECT 
		*,
		(
			SELECT SUM(inventory) AS total_inventory
			FROM product_tb
			WHERE style_id = t1.style_id
			GROUP BY style_id
		) AS total_inventory,
        (
			SELECT SUM(tag_price * inventory) AS total_tag_price
			FROM product_tb
			WHERE style_id = t1.style_id
			GROUP BY style_id
		) AS total_tag_price
	FROM
	(
		SELECT 
			style_id, SUM(sales_num) AS total_sales_m, SUM(sales_price) AS total_price
		FROM product_tb
		JOIN sales_tb USING (item_id)
		GROUP BY style_id
		ORDER BY style_id
	) AS t1
) AS t1


全部评论
为什么上面那个版本有误会呢
点赞 回复 分享
发布于 2022-05-05 17:17
不能这样去重哦、
点赞 回复 分享
发布于 2022-02-09 21:08

相关推荐

钱嘛数字而已:辅导员肯定不能同意,不然你出事了,他要承担责任。但是,脚和脑子都长在你自己身上,使用它还需要向辅导员报告么? 辅导员必须按流程拒绝你,然后你拿出成年人的态度,做自己的选择。
点赞 评论 收藏
分享
01-30 10:21
中北大学 golang
27届学院本誓死冲击...:技术栈不用搞这么详细,主要还是看实习和项目,毕竟技术栈就那点,你能写这么多,别人也可以写这么多,模版换一下换成上下的,不知道怎么排版可以去看看别人怎么写
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

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