电商项目之用户交易宽表 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

相关文章
|
4月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
136 11
|
6月前
|
监控 Java 开发者
揭秘Struts 2性能监控:选对工具与方法,让你的应用跑得更快,赢在起跑线上!
【8月更文挑战第31天】在企业级应用开发中,性能监控对系统的稳定运行至关重要。针对流行的Java EE框架Struts 2,本文探讨了性能监控的工具与方法,包括商用的JProfiler、免费的VisualVM以及Struts 2自带的性能监控插件。通过示例代码展示了如何在实际项目中实施这些监控手段,帮助开发者发现和解决性能瓶颈,确保应用在高并发、高负载环境下稳定运行。选择合适的监控工具需综合考虑项目需求、成本、易用性和可扩展性等因素。
61 0
|
6月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之新建项目的元数据的sql报错,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
SQL 存储 Oracle
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
110 0
|
6月前
|
SQL 运维 Oracle
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
97 0
|
9月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
|
9月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
|
9月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
|
5月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
6月前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
607 0

热门文章

最新文章