美文网首页
牛客-SQL13 计算商城中2021年每月的GMV

牛客-SQL13 计算商城中2021年每月的GMV

作者: 大空翼123 | 来源:发表于2022-01-22 09:26 被阅读0次

场景逻辑说明

用户将购物车中多件商品一起下单时,订单总表会生成一个订单(但此时未付款,status-订单状态0,表示待付款);

当用户支付完成时,在订单总表修改对应订单记录的status-订单状态1,表示已付款;

若用户退货退款,在订单总表生成一条交易总金额为负值的记录(表示退款金额,订单号为退款单号,status-订单状态为2表示已退款)。

问题:请计算商城中2021年每月的GMV,输出GMV大于10w的每月GMV,值保留到整数。

思路

1.查出已支付的 status=1的表

注意Hive时间格式化函数与mysql的不同

Hive:DATE_FORMAT(event_time,'yyyy-MM')

mysql:DATE_FORMAT(event_time,'%Y-%m')

select order_id,DATE_FORMAT(event_time,'%Y-%m')as month,DATE_FORMAT(event_time,'%Y')as year,total_amount ,total_cnt,status

from

tb_order_overall

where

`status` =1

2.查出已付款未支付的ststus=0的表(此处把已支付的status=1表过滤掉,但是测试用例中并没有初现已付款和已支付的表重的现象)

select order_id,DATE_FORMAT(event_time,'%Y-%m') as month,DATE_FORMAT(event_time,'%Y')as year,total_amount ,total_cnt,status

from

tb_order_overall

where

`status` =0

and order_id not in (select id from tb_order_overall where `status`=1 )

3.把以上两个表union即是,没有重复订单的已付款和已支付订单 作为s1表

    将s1表按照year=2021过滤,再次按照group by月份聚合sum(total_amount) GMV  查询结果作为s2

4.s2按照GMV》=100000过滤再排序,保存整数

select

month,

ROUND(GMV,0)

FROM

(

select

month,

sum(total_amount) GMV

FROM

(select order_id,DATE_FORMAT(event_time,'%Y-%m')as month,DATE_FORMAT(event_time,'%Y')as year,total_amount ,total_cnt,status

from

tb_order_overall

where

`status` =1

UNION

select order_id,DATE_FORMAT(event_time,'%Y-%m') as month,DATE_FORMAT(event_time,'%Y')as year,total_amount ,total_cnt,status

from

tb_order_overall

where

`status` =0

and order_id not in (select id from tb_order_overall where `status`=1 ))s1

where year=2021

GROUP BY month)S2

where GMV>=100000

order by GMV

题目不难,总是会漏掉条件 ,第一次提交漏了好多条件, 需要更严谨些。

相关文章

  • 牛客-SQL13 计算商城中2021年每月的GMV

    场景逻辑说明: 用户将购物车中多件商品一起下单时,订单总表会生成一个订单(但此时未付款,status-订单状态为0...

  • Python——程序设计:商贷月供计算器!谁还没点月供了!

    设计一个简单的购房商贷月供计算器类,按照以下公式计算总利息和每月还款金额: 总利息=贷款金额*利率 每月还款金额 ...

  • 淘系电商

    淘系电商收入公式 淘系电商的营业收入是这个公式: 营业收入=GMV*货币化率 进一步拆解: GMV=VV(Vist...

  • 品牌怎么影响GMV(成交总额)的

    GMV(成交总额)=流量✖️转化率✖️客单价✖️复购率 品牌影响GMV的各个变量: 大品牌自带流量,你只能买流量;...

  • 运营总监课程小结

    作为一个电商从业者,对于GMV的公式再熟悉不过了。每天想做的就是引进精准流量,提高店铺转化率,提升客单价,提升老顾...

  • 刷书

    重点复习数据结构,算法。大话数据结构,算法第四版,牛客刷题,剑指offer题,LeetCode,牛客算法课 计算机...

  • 二进制中1的个数

    ?环境:牛客的编译环境?语言:JavaScript☕️难点:如果自己去将整数变成二进制计算,在计算负数的时候,涉及...

  • Excel常用函数(6)-如何计算销售日同比

    一、Excel数据报表问题 目前已知店铺某一天在美团平台的GMV,如何计算对应日期的GMV日同比。 二、问题解决方...

  • TikTok电商去年赚了60亿?短视频的尽头是带货?

    据36氪2月27日的报道,36氪从多个信源处了解到,TikTok电商2021年GMV最高约60亿元,其中GMV占比...

  • 面经

    作者:尘归土链接:https://www.nowcoder.com/discuss/101712来源:牛客网 计算...

网友评论

      本文标题:牛客-SQL13 计算商城中2021年每月的GMV

      本文链接:https://www.haomeiwen.com/subject/tzzehrtx.html