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

相关文章
|
3月前
|
算法 数据挖掘 数据库
通过 SQL 快速使用 OceanBase 向量检索学习笔记
通过 SQL 快速使用 OceanBase 向量检索学习笔记
|
3月前
|
SQL 数据库
SQL 学习笔记 - 多表关系与多表查询
数据库多表关系包括一对多、多对多和一对一,常用外键关联。多表查询方式有隐式/显式内连接、外连接、子查询等,支持别名和条件筛选。子查询分为标量、列、行、表子查询,常用于复杂查询场景。
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
简简单单 My SQL 学习笔记(3)——连接和嵌套查询
|
SQL HIVE UED
【Hive SQL 每日一题】分析电商平台的用户行为和订单数据
作为一名数据分析师,你需要分析电商平台的用户行为和订单数据。你有三张表:`users`(用户信息),`orders`(订单信息)和`order_items`(订单商品信息)。任务包括计算用户总订单金额和数量,按月统计订单,找出最常购买的商品,找到平均每月最高订单金额和数量的用户,以及分析高消费用户群体的年龄和性别分布。通过SQL查询,你可以实现这些分析,例如使用`GROUP BY`、`JOIN`和窗口函数来排序和排名。
1235 2
|
关系型数据库 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)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
563 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
379 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
273 6
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1211 3

热门文章

最新文章