案例1. Columns of Table product: Columns of Table push: Columns of Table push_detail: Columns of Table sales: 问题:哪些微信推送活动给我们带来了好的销售业绩,有比较好的效果? 语句书写如下: 案例2. */Columns of Table sony_members: Columns of Table sony_product: Columns of Table sony_sales: 问题:请将提供的数据导入到MySQL中,并试图回答下列问题 (1)解: (2)解: 题(3)解: 本人MySQL小白,刚学一个多月。如果解的不对,希望大家能指出。或者大家对题目有不同理解,欢迎探讨~
/*Columns of Table members:
member_id bigint(255) PK 会员id
gender varchar(255) 性别
age int(255) 年龄
city varchar(255) 所在城市
name varchar(255) 姓名
phone bigint(255) 手机号码
registration_date date 注册日期
Product_ID varchar(255) PK 产品id
Base_Category varchar(255) 产品大类
Category varchar(255) 产品小类
Price float(255,0) 产品价格
camp_id bigint(255) PK 推送活动id
camp_name varchar(255) 推送活动名称
drop_dt date 推送日期
Cost float(255,0) 推送成本
promo_id bigint(255) 推送id(一个推送活动包含多个推送)
member_id bigint(255) 会员id
camp_id bigint(255) 推送活动id
read_date date 阅读日期
read_flag varchar(255) 是否阅读
like_date date 日期
like_flag varchar(255) 是否
transaction_id bigint(255) PK 交易记录id
member_id bigint(255) 会员id
product_id varchar(255) 产品id
shop_name varchar(255) 门店名称
amount float(255,0) 交易金额
transaction_date date 交易日期
quant int(255) 交易数量
city varchar(255) 交易城市
delivery_city varchar(255) 目标运达城市
分析思路:
1.明晰业务逻辑:通过微信推送,提高活动曝光量,转化购买
2.明确指标体系:
定义“微信推送带来的销售业绩”:每一个用户在阅读完活动推送24h内产生的购买,sales.transaction_date < push_detail.read_date + 1
定义“好的效果”:用活动ROI评判,不考虑商品成本的情况下,ROI=销售总额/推送活动成本
3. 取数思路:
1)连接push表、push detail表和sales表,
2)筛选sales.transaction_date < push_detail.read_date + 1
3)按camp_id分组,ROI降序排列
4)查询camp_id和计算ROIUSE xiaozao; SELECT p.camp_id ,SUM(amount)/Cost AS GOI FROM push_detail pd JOIN sales s USING (member_id) -- ON pd.member_id = s.member_id JOIN push p USING (camp_id) -- ON p.camp_id = pd.camp_id WHERE s.transaction_date < pd.read_date + 1 GROUP BY camp_id ORDER BY GOI DESC
member_id bigint(255) PK 会员id
gender varchar(255) 性别
age int(255) 年龄
city varchar(255) 城市
name varchar(255) 姓名
phone bigint(255) 电话
registration_date date 注册日期
Member_value int(255) 会员积分
Member_level varchar(255) 会员等级
channel varchar(255) 注册渠道
Marriage varchar(255) 是否已婚
Have_child varchar(255) 是否有小孩
Product_ID varchar(255) PK 产品id
Base_Category varchar(255) 产品大类
Category varchar(255) 产品小类
Price float(255,0) 产品单价
transaction_id bigint(255) PK 交易号
member_id bigint(255) 购买id
product_id varchar(255) 产品id
shop_name varchar(255) 商场名称
amount float(255,0) 交易金额
transaction_date date 交易日期
quant int(255) 交易数量
city varchar(255) 交易城市
delivery_city varchar(255) 目标送达城市
(1) 所提供数据中,销售最好的产品分别是哪些?
(2) 会员和非会员在购买金额和产品类别方面,有什么主要区别?
(3) 不同注册渠道的会员,在购买金额和产品类别方面有什么主要区别?USE xiaozao; -- (1)所提供数据中,销售最好的产品分别是哪些? -- 思路:按产品分组求和排序 SELECT product_id ,SUM(amount) AS total_amt FROM sony_sales GROUP BY product_id ORDER BY total_amt DESC LIMIT 10;
-- (2)会员和非会员在购买金额和产品类别方面,有什么主要区别? -- 思路:1)销售表连接产品表、和左连接会员表。 -- 2)按照要查询的源字段购买id、商品品类进行分组聚合 -- 3)用CASE WHEN按照购买id是否存在于会员表的会员id来判断是不是会员,添加会员标签(Yes/No) -- 4)查询购买id、商品品类、购买总额和会员标签 USE xiaozao; SELECT DISTINCT s.member_id ,p.Base_Category ,p.Category ,SUM(s.amount) AS total_amount ,CASE WHEN m.member_id IS NULL THEN 'No' ELSE 'Yes' END AS member_flag FROM sony_sales s JOIN sony_product p USING (product_id) LEFT JOIN sony_members m USING (member_id) GROUP BY s.member_id, p.Base_Category, p.Category ORDER BY total_amount DESC; /*可以看到购买金额排在前面的多数标签为Yes,是会员,从表中也能看出多数购买者都是会员 会员多数购买花费在PS4和数码相机及电视,非会员多数购买花费为耳机和数码相机*/
-- (3)不同注册渠道的会员,在购买金额和产品类别方面有什么主要区别? -- 思路:1)销售表连接会员表、产品表 -- 2)按照注册渠道、产品类别分组 -- 3)查询注册渠道、计算购买总额、查询产品类别 USE xiaozao; SELECT m.channel ,p.Base_Category ,p.Category ,SUM(s.amount) AS total_amt FROM sony_sales s JOIN sony_members m USING (member_id) JOIN sony_product p USING (product_id) GROUP BY m.channel,p.Base_Category ,p.Category ORDER BY m.channel, total_amt DESC
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算