开发者学堂课程【新电商大数据平台2020最新课程:电商项目之商家日流水宽表 SQL 实现】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/640/detail/10551
电商项目之商家日流水宽表 SQL 实现
商家日流水宽表 SQL 实现
先来创建表,在端口中粘贴该表
然后 sql 代码实现商家日流水宽表:
select
from dwd_nshop.dwd_nshop_orders_details od
join
ods_nshop.dim_pub_product pr
//join 商品信息表
on
od.supplier_code=pr.supplier_code
join
ods_nshop.dim_pub_supplier su
//join 供应商信息表
on
su.supplier_code=od.supplier_code
where
od.bdp_day=’20200321’
group by
od.supplier_code,
su.supplier_type
然后进行取值:在 select 下输入
od.supplier_code
su.supplier_type
count(distinct od.customer_id)sales_users,
//购物人数
count(distinct oc.customer_natives)sales_users_area, /
/购物人数
count(distinct od.order_id)sales_orders,
//购物人数
我们发现除了购物人数,购物订单数量,还需要有购物所在地区,所以还需要用到 customer 表,再来插入一个 join
在第一个 join 上输入:
join
ods_nshop.ods_02_customer oc
on
od.customer_id=oc.customer_id
之后继续取值,还需要取订单金额和订单优惠金额,在 count(distinct od.customer_natives)sales_users_area,下继续输入
sum(pr.product_price * od.product_cnt) salaes_orders_pay
//使用商品单个价格*商品数量
sum(od.district_money)salaes_orders_district
//使用优惠金额
此外还需要时间,所以再加上:
current_timestamp() as ct
完成后进行测试,在端口上运行,运行结果如图
此处 cd 求的是毫秒
数据显示后,来插入进行覆盖,在代码 select 上输入:
insert overwrite table dws_nshop.dws_nshop_supplier_sales partition(bdp_day=’20200321’)
再来插入到端口中,复制粘贴代码等待运行结果
以上就完成商家日流水宽表的 sql 实现