电商项目之用户交易宽表 SQL 实现|学习笔记

简介: 快速学习电商项目之用户交易宽表 SQL 实现

开发者学堂课程【新电商大数据平台2020最新课程电商项目之用户交易宽表 SQL 实现】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/640/detail/10546


电商项目之用户交易宽表 SQL 实现

 

SQL 实现用户交易宽表

使用 SQL 来实现

输入代码

with tborder as(

select

from dwd_nshop.dwd_nshop_orders_details o

//form 后写用户基本信息表

join ods_nshop.ods_02_customer c

//然后 join 后写 customer 表

on o.customer_id=c.customer_id

//on 后加入条件两个 customer 的 id 相等

where

bdp_day= ‘20200321’

)

然后来增加值,在用户交易宽表中我们需要的值有用户 id、所在区域、订单数量、订单金额等等。

写入值:

with tborder as(

select

o.order_id,

o.district_money,

o.shipping_money,

o.payment_money,

c.customer_id,

c.customer_natives

from dwd_nshop.dwd_nshop_orders_details o

//form 后写用户基本信息表

join ods_nshop.ods_02_customer c

//然后 join 后写 customer 表

on o.customer_id=c.customer_id

//on 后加入条件两个 customer 的 id 相等

where

bdp_day= ‘20200321’

)

先来查询,看是否可以查到

输入 limit 10

image.png

结果存在

取到相应的值后,接着将值进行汇总,继续输入

select

customer_id,     //id

customer_natives,    //所在区域

count(order_id) over (partition by customer_id) as orders_count,  

sum(payment_money) over (partition by customer_id) as orders_pay,

sum(shipping_money) over (partition by customer_id) as orders_shipping,

sum(district_money) over (partition by customer_id) as orders_district,

current_timestamp() as ct   //生成时间使用获取系统时间

from tborder

之后再来查询,输入 limit 10

结果如下

image.png

数据处理完成后,再来插入

insert overwrite table dws_nshop.dws_nshop_usr_orders partition(bdp_day= ‘20200321’)

以上就全部整理了用户交易宽表,此外在聚合时要注意所求的 order 或者是金额都是针对用户来讲,所以必须按照customer_id 进行分组。

再来观察浏览器

image.png

点击 dws_nshop_user_orders,再点击 bdp_dav=20200321。

image.png

相关文章
|
2月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
41 0
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
372 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
SQL Java 数据库连接
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
494 0
springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用
|
7月前
flowable项目报错:java.sql.SQLSyntaxErrorException: Table ‘psr_flowable_test.act_ge_property’ doesn’t exi
flowable项目报错:java.sql.SQLSyntaxErrorException: Table ‘psr_flowable_test.act_ge_property’ doesn’t exi
|
4月前
|
SQL
leetcode-SQL-1193. 每月交易 I
leetcode-SQL-1193. 每月交易 I
28 1
|
4月前
|
SQL
leetcode-SQL-1581. 进店却未进行过交易的顾客
leetcode-SQL-1581. 进店却未进行过交易的顾客
29 0
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_95 每次访问的交易次数
「SQL面试题库」 No_95 每次访问的交易次数
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_77 每月交易II
「SQL面试题库」 No_77 每月交易II
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_76 每月交易 I
「SQL面试题库」 No_76 每月交易 I
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_54 项目员工 III
「SQL面试题库」 No_54 项目员工 III