题解 | #某店铺的各商品毛利率及店铺整体毛利率#

某店铺的各商品毛利率及店铺整体毛利率

http://www.nowcoder.com/practice/65de67f666414c0e8f9a34c08d4a8ba6

思路:

  1. 毛利率=1-总进价/总售价
  • 计算公式=1-sum(in_price * cnt)/sum(price * cnt)
  • 百分数形式(concat()
  1. 店铺毛利率和商品毛利率的区别
  • 店铺——group by shop_id
  • 商品——group by product_id 故需要分别取两类毛利率再以union/union all合并
  1. 排序
  • 若以" select … from … union select… from… order by" ,最后的order by 对整合后的表格起作用,如此一来”店铺汇总“会到最后一行。
  • 若想解决这一问题,则需要order by 只对第二个表格起作用,也就是把第二个表格和order by括起来,再用select from

代码

select '店铺汇总' as product_id,
concat(round((1-sum(in_price*cnt)/sum(price*cnt))*100,1),'%') as profit_rate
from tb_order_detail as tod
join tb_product_info as tpi
on tpi.product_id=tod.product_id
join tb_order_overall as too
on tod.order_id=too.order_id
where shop_id=901 and event_time>='2021-10-01 00:00:00'
group by shop_id

union

select * from
(select tod.product_id,
concat(round((1-sum(in_price*cnt)/sum(price*cnt))*100,1),'%') as profit_rate
from tb_order_detail as tod
join tb_product_info as tpi
on tpi.product_id=tod.product_id
join tb_order_overall as too
on tod.order_id=too.order_id
where shop_id=901 and event_time>='2021-10-01 00:00:00'
group by product_id
having 1-sum(in_price*cnt)/sum(price*cnt)>0.249
order by product_id) as q
全部评论

相关推荐

个人背景:学院二本计科专业 大二开始实习个人经历:安克创新 、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps: 很多人会问我学习路线和经验 但是就像我上面说的 我的实习过程靠的很多是关键节点的运气 技术上面我可能不如很多人  所以请大家理性求助和理性参考我的回答 附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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