题解 | #统计2021年10月每个退货率不大于0.5的商品各项指标#
统计2021年10月每个退货率不大于0.5的商品各项指标
http://www.nowcoder.com/practice/cbf582d28b794722becfc680847327be
2021年10月 :
date_format(event_time,'%y-%m')='2021-10'
每个商品:有展示记录、退货率<=0.5
date_format(event_time,'%y-%m')='2021-10'
每个商品:有展示记录、退货率<=0.5
商品点展比ctr :
count(if_click=1 or null)/count(*)
加购率cart_rate :
count(if_cart=1 or null)/count(if_click=1 or null)
成单率payment_rate :
count(if_payment=1 or null)/count(if_cart=1 or null)
退货率refund_rate:
count(if_refund=1 or null)/count(if_payment=1 or null)
保留3位小数 :
round()
按商品ID升序排序:
order by product_id
注意:当分母为0时整体结果记为0
ifnull(expression_1,expression_2)
如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。
select product_id ,round(count(if_click=1&nbs***bsp;null)/count(*),3) ctr ,ifnull(round(count(if_cart=1&nbs***bsp;null)/count(if_click=1&nbs***bsp;null),3),0) cart_rate ,ifnull(round(count(if_payment=1&nbs***bsp;null)/count(if_cart=1&nbs***bsp;null),3),0) payment_rate ,ifnull(round(count(if_refund=1&nbs***bsp;null)/count(if_payment=1&nbs***bsp;null),3),0) refund_rate from tb_user_event where date_format(event_time,'%y-%m')='2021-10' group by product_id having ifnull(round(count(if_refund=1&nbs***bsp;null)/count(if_payment=1&nbs***bsp;null),3),0) <=0.5 order by product_id