推广 热搜: 贵州  试题  暑期档  如何做  五日游  新趋势  种方法  影响力  怎么看  怎么做 

电商数据处理

   日期:2024-11-11     作者:caijiyuan    caijiyuan   评论:0    移动:http://zleialh.tongchengxian.cn/mobile/news/521.html
核心提示:   将某电商脱敏后数据导入数据库进行处理加工,并对相关数据进行查询。本次案列中是很经典的关于电商数据的整理,

   将某电商脱敏后数据导入数据库进行处理加工,并对相关数据进行查询。本次案列中是很经典的关于电商数据的整理,一共包含了九张数据表,还是比较多,内在逻辑也是比较绕,所以先对这九张表进行大体上的分类。

电商数据处理

1、买方数据表(3张

(1)UserInfo.csv——用户主表,买方信息

 

 (2)RegionInfo.csv——区域表  国家行政区域划分表
(3)UserAddress.csv——用户地址表   用户收货地址信息

2、卖方数据表(4张

(1)GoodsInfo.csv:商品主表
(2)GoodsBrand.csv:商品品牌表

 

 (3)GoodsColor.csv:商品颜色表
(4)GoodsSize.csv:商品尺码表

3、购买行为数据表(2张

(1) OrderInfo.csv:订单主表      主键 订单ID+商品ID,用来连接卖方

 

 (2)OrderDetail.csv:订单详情表      主键 订单ID  用来连接买方

 

 

4、表关系详解

其实,sql语句并不难,难的是这些表之间的逻辑关系,如上图,总共给出了12个关系,要清楚的知道每个表里有哪些内容,每个表之间又怎么建立起关系,也就是哪个是关键字段,同时,还要明白

所用的关键字段到底是 一对一 一对多 还是 多对多的关系,图上我已经标出,都是一对多。

 个人认为重要思想就是

                                1、我要什么内容

                                2、这些内容存放在哪张表里

                                3、我该怎么取出来?好,用多表查询,那么我的关键字段应该选那个

                                4、关键字段的对应关系是什么?对我所查找的结果有什么影响

                    

         本次案列使用的是work bench 6.3+mysql5.7

1、建立数据库  

2、表 UserInfo 的建立及数据导入

那么,在建表前先看看数据

 

大部分字段其实还是挺好定义的,就是 regtime 和 lastlogin,里面是时间戳,所以先用文本来储存,后面再转化成时间格式

 

不出问题,表信息应如下

 

3、表 regioninfo 的建立及数据导入

结果应该如下

 

4、表 useraddress  的建立及数据导入

结果如下

 

5、表 goodsinfo  的建立及数据导入

结果如下

 

6、表 goodsbrand  的建立及数据导入

结果如下

 

7、表 goodscolor  的建立及数据导入

结果如下

 

8、表 goodssize 的建立及数据导入

结果如下

 

9、表 OrderInfo 的建立及数据导入

结果如下

 

10、表 OrderInfo 的建立及数据导入

结果如下

 

11、对建立的九张表再进行一次检验

 

若检验没有问题,可继续往下,如果任何不对,重新再来吧,否则肯定是错的

1、求出购买产品金额最多的前十名顾客

按照我的思考

1、我需要什么顾客

2、什么样的顾客金额最多的前十

3、 也就是说我还需要产品总金额,然后对其进行排序,递减,保留前十即可

4、顾客和金额从哪里来? 根据表的信息,来自于同一张表 orderinfo,这就简单了,不需要多表查询

2、求出购买产品金额最多的前十名顾客的最后登录时间

感觉很熟悉啊,和1相比,无非就是多求一个最后登录时间  lastlogin_,最后登录时间在表 userinfo 中,所以,这就要用到多表查询了

这里显然是在1的基础上增加而已,自然应该选用表 orderinfo作为主表,关键字段,在表关系里已经给出 orderinfo.userid =userinfo.userid。

3、 求出购买产品金额最多的前十名顾客的所在城市

没毛病 ,和2其实是一回事,只是改成求 城市 去了,那么城市在哪里,根据表关系,所有的 country   province  city district

都在表 RegionInfo种,对应于regionname,关键字段也给出了 city = regionid  注意主表应该选谁

 

4、求出购买力最强的前十个城市

这个问题是这样的,可以先对城市进行分类,把各个城市的 OrderAmount 求和,降序,保留前十即可

 

5、求出购买力最强的前十个城市以及他们所在的省份

这个问题就比较有意思了,首先购买力最强的前十个城市,我们是可以求出来的,没毛病,根据表的关系  省份 也需要连接表 RegionInfo

也需要 regionname 来取值,但是 regionname已经用来取 城市 了

所以不能直接来求。但是在取 城市 的同时,可以在 表 OrderInfo 中,取到该城市的 province 编号

于是我就可以先得到  购买力最强的前十个城市以及他们所在的省份的编号 这样一个表

再和表 RegionInfo ,以 省份编号 RegionInfo.regionid,再以 regionname来取省份就好了

 

6、求出最畅销的十个品牌

这道题,也比较有意思了,需要的是品牌其实是在表 goodsbrand 中的 ,其条件是最畅销,自然需要商品的销量,而商品的销量 Amount 在表  OrderDetail 中

最遗憾的是这两个表并没有直接的关系,不能直接联合查询,只能借表 GoodsInfo 来过度

 

7、求出最畅销的十种颜色、以及最不畅销的十种颜色

需要颜色,颜色在表 GoodsColor 里,销量自然在表 orderdetail里,根据表关系,可以通过 ColorID 查询,查两次,一个升序,一个降序,用 union 连接即可

 

8、求出最畅销的十个商品所属品牌中所有商品的销售额

 

-- 9. 买不同商品种类最多的前十名用户所使用的收货城市都有哪些-- (非重复计数count(distinct 字段名)

 

 

所有数据

链接:https://pan.baidu.com/s/1y_XOrrriionxuSpuFgPTkg 提取码:g3zi

本文地址:http://zleialh.tongchengxian.cn/news/521.html    通成线 http://zleialh.tongchengxian.cn/ , 查看更多
 
标签: 数据处理 电商
 
更多>同类最新资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号