题解 | #计算商城中2021年每月的GMV#
计算商城中2021年每月的GMV
https://www.nowcoder.com/practice/5005cbf5308249eda1fbf666311753bf
select date_format(event_time,"%Y-%m") AS month, ROUND(SUM(total_amount),0) AS GMV from tb_order_overall where year(event_time) = '2021' and status IN (0,1) group by month having GMV>100000 order by GMV asc;
问题分解:按照月份求出2021年的大于10万的订单金额(未付款和已付款,不包含已退款)
限定条件:
- where year(event_time) = '2021'
- 每月使用分组 group by month(event_time)
- 保留到整数,round(,0)
- 未付款和已付款订单,status in (0,1), status!=2
- 未付款和已付款订单总额GMV大于10万, 在分组之后,所以使用having sum(total_amount) >10000
- case when sum(total_amount)>100000 then round(sum(total_amount,0)) end as GMV, 不能使用这个,因为会包含null的记录,小于10w的会返回null。
- select month,
- 结果按照GMV升序排序 order by GMV asc
细节问题:
表头重命名:as
完播率重命名