课后习题

业务场景:某线上教育公司为促进课程销售,近期开展优惠推广活动,活动期间,消费者通过点击相应链接,输入手机号,则可以绑定相应课程的优惠券。现在需要对该促销活动进行效果评估。活动规则是:

  • 消费者可以选择任一课程的优惠券,每名消费者至多选择一种优惠券
  • 优惠券的有效期是7天,自领取日开始计算
  • 活动持续7天(2020-07-10~2020-07-16)

底层数据:涉及到该业务场景的共有三张表

表1:客户信息表,表名是customer_info表。该表包括的字段有:客户编号、姓名、手机号、生日、性别、工作类型、城市、学历和日期。其中日期是客户最近一次修改的信息。该表是全量表,同时当客户修改信息时,仅写入相关的信息,并不会删除原始数据,这就使得一名客户可能对应多条记录,其中日期最近的一条记录是最准确的数据记录。举个例子:张XX,由于更新手机号,所以变更了一次手机号,则在客户信息表会添加一条张XX的信息记录,其余保持一致,但手机号进行变更。此时,张XX对应了两条记录,其中日期最近的一条记录是准确记录。(单天只能修改一次)

cust_id name birthday gender job_type city education tel c_date
001 A 1994/4/10 M J1 BJ bachelor 13865421111 2008/1/21
001 A 1994/4/10 M J1 BJ bachelor 13938643606 2009/3/5
002 B 2004/5/28 F J3 SH bachelor 13942658732 2008/7/23
003 C 2006/9/13 F J2 BJ master 13750516635 2008/4/2
004 D 1999/1/9 M J10 SH master 13567562037 2010/2/27
004 D 1999/1/9 M J10 SH master 13666487613 2008/11/20
004 D 1999/1/9 M J10 SH master 13453959136 2008/8/14
005 E 2000/10/17 M J3 SZ bachelor 13549433261 2008/1/22
006 F 2004/4/5 M J6 SZ doctor 13130240916 2009/1/23
006 F 2004/4/5 M J6 SZ doctor 13640167697 2008/5/19
006 F 2004/4/5 M J6 SZ doctor 13271077068 2008/11/25
007 G 2004/5/7 F J10 GZ student 13915999100 2010/10/20
008 H 2001/12/16 M J4 SH student 13777664231 2010/5/9
009 N 1980/8/17 M J6 HZ student 13592253026 2010/5/9
010 S 2008/8/10 F J7 SZ bachelor 13656915621 2010/9/28
010 S 2008/8/10 F J7 SZ bachelor 13894268336 2010/1/4
011 R 2000/2/29 F J3 GZ doctor 13415989477 2008/7/23
012 X 1983/9/9 M J8 BJ student 13572071081 2010/5/7
013 P 2008/6/25 M J10 SH master 13914169395 2009/7/11
014 L 1998/5/25 M J4 SH master 13571078709 2008/11/23

表2:购课信息表,表名是course_sales表。该表包括的字段是:客户编号、课程名称、课程类别、使用券名称、购买时间

cust_id course_name course_type coupon_name s_date
001 C_A T_A P_A 2020/7/17
003 C_B T_B P_B 2020/7/19
004 C_C T_C P_C 2020/7/13
005 C_A T_A P_A 2020/7/11
006 C_A T_A P_A 2020/7/11
008 C_C T_C P_C 2020/7/18
009 C_D T_D P_D 2020/7/13
010 C_C T_C P_C 2020/7/10
011 C_C T_C P_C 2020/7/14

表3:领券表,表名是coupon_info表,该表包括的字段是:手机号、券名称和领取时间

tel coupon_name p_date
13938643606 P_A 2020/7/15
13750516635 P_B 2020/7/19
13567562037 P_C 2020/7/7
13549433261 P_A 2020/7/5
13130240916 P_A 2020/7/7
13777664231 P_C 2020/7/14
13592253026 P_D 2020/7/12
13656915621 P_C 2020/7/9
13415989477 P_C 2020/7/12

数据表的创建代码如下:

CREATE TABLE customer_info
    ([cust_id] varchar(3), [name] varchar(10), [birthday] date, [gender] varchar(10), [job_type] varchar(10), [city] varchar(10), [education] varchar(20), [tel] varchar(20), [c_date] date)
;

INSERT INTO customer_info
    ([cust_id], [name], [birthday], [gender], [job_type], [city], [education], [tel], [c_date])
VALUES
    ('001', 'A', '1994-04-10', 'M', 'J1', 'BJ', 'bachelor', '13865421111', '2008-01-21'),
    ('001', 'A', '1994-04-10', 'M', 'J1', 'BJ', 'bachelor', '13938643606', '2009-03-05'),
    ('002', 'B', '2004-05-28', 'F', 'J3', 'SH', 'bachelor', '13942658732', '2008-07-23'),
    ('003', 'C', '2006-09-13', 'F', 'J2', 'BJ', 'master', '13750516635', '2008-04-02'),
    ('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13567562037', '2010-02-27'),
    ('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13666487613', '2008-11-20'),
    ('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13453959136', '2008-08-14'),
    ('005', 'E', '2000-10-17', 'M', 'J3', 'SZ', 'bachelor', '13549433261', '2008-01-22'),
    ('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13130240916', '2009-01-23'),
    ('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13640167697', '2008-05-19'),
    ('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13271077068', '2008-11-25'),
    ('007', 'G', '2004-05-07', 'F', 'J10', 'GZ', 'student', '13915999100', '2010-10-20'),
    ('008', 'H', '2001-12-16', 'M', 'J4', 'SH', 'student', '13777664231', '2010-05-09'),
    ('009', 'N', '1980-08-17', 'M', 'J6', 'HZ', 'student', '13592253026', '2010-05-09'),
    ('010', 'S', '2008-08-10', 'F', 'J7', 'SZ', 'bachelor', '13656915621', '2010-09-28'),
    ('010', 'S', '2008-08-10', 'F', 'J7', 'SZ', 'bachelor', '13894268336', '2010-01-04'),
    ('011', 'R', '2000-02-29', 'F', 'J3', 'GZ', 'doctor', '13415989477', '2008-07-23'),
    ('012', 'X', '1983-09-09', 'M', 'J8', 'BJ', 'student', '13572071081', '2010-05-07'),
    ('013', 'P', '2008-06-25', 'M', 'J10', 'SH', 'master', '13914169395', '2009-07-11'),
    ('014', 'L', '1998-05-25', 'M', 'J4', 'SH', 'master', '13571078709', '2008-11-23')
;


CREATE TABLE course_sales
    ([cust_id] varchar(3), [course_name] varchar(3), [course_type] varchar(3), [coupon_name] varchar(3), [s_date] date)
;

INSERT INTO course_sales
    ([cust_id], [course_name], [course_type], [coupon_name], [s_date])
VALUES
    ('001', 'C_A', 'T_A', 'P_A', '2020-07-17'),
    ('003', 'C_B', 'T_B', 'P_B', '2020-07-19'),
    ('004', 'C_C', 'T_C', 'P_C', '2020-07-13'),
    ('005', 'C_A', 'T_A', 'P_A', '2020-07-11'),
    ('006', 'C_A', 'T_A', 'P_A', '2020-07-11'),
    ('008', 'C_C', 'T_C', 'P_C', '2020-07-18'),
    ('009', 'C_D', 'T_D', 'P_D', '2020-07-13'),
    ('010', 'C_C', 'T_C', 'P_C', '2020-07-10'),
    ('011', 'C_C', 'T_C', 'P_C', '2020-07-14')
;


CREATE TABLE coupon_info
    ([tel] varchar(12), [coupon_name] varchar(3), [p_date] date)
;

INSERT INTO coupon_info
    ([tel], [coupon_name], [p_date])
VALUES
    ('13938643606', 'P_A', '2020-07-15'),
    ('13750516635', 'P_B', '2020-07-19'),
    ('13567562037', 'P_C', '2020-07-07'),
    ('13549433261', 'P_A', '2020-07-05'),
    ('13130240916', 'P_A', '2020-07-07'),
    ('13777664231', 'P_C', '2020-07-14'),
    ('13592253026', 'P_D', '2020-07-12'),
    ('13656915621', 'P_C', '2020-07-09'),
    ('13415989477', 'P_C', '2020-07-12')
;

以上就是整个业务背景和数据背景,接下来需要完成对此次活动效果的评估。主要完成以下10项查询:

  1. 总共发放优惠券的数量?(由于每人至多领取一

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

数据分析入门技术篇

全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务