编辑代码

CREATE DATABASE t_view;
use t_view;
CREATE TABLE t_view (
	访问_id int,
	访问时间 varchar(255),
	访问用户id int,
	访问页面名称 varchar(255)
);

INSERT INTO t_view VALUES (1, '2023-01-01 13:44:39', 1111, '首页');
INSERT INTO t_view VALUES (2, '2023-01-01 16:44:39',  1111, '创建订单页');
INSERT INTO t_view VALUES (3, '2023-01-01 12:44:08',  2222, '首页');
INSERT INTO t_view VALUES (4, '2023-01-02 08:44:39',  3333, '首页');
INSERT INTO t_view VALUES (5, '2023-01-03 13:16:13',  4444, '首页');
INSERT INTO t_view VALUES (6, '2023-01-02 14:44:08',  3333, '创建订单页');
INSERT INTO t_view VALUES (7, '2023-01-01 13:08:39',  2222, '创建订单页');
INSERT INTO t_view VALUES (8, '2023-01-04 13:16:14',  1111, '首页');
INSERT INTO t_view VALUES (9, '2023-01-04 14:44:13',  3333, '首页');
INSERT INTO t_view VALUES (10, '2023-01-03 13:16:39',  2222, '首页');
INSERT INTO t_view VALUES (11, '2023-01-03 13:30:00',  2222, '创建订单页');
 



CREATE DATABASE ord;
use ord;
CREATE TABLE ord (
    订单_id int,
    支付用户id varchar(255),
    套餐内容 varchar(255),
    下单日期 date NOT NULL,
    订单状态  varchar(255)
);
INSERT INTO ord VALUES (10080, 2222,'套餐一', '2023-01-03 14:00:00','支付完成');
INSERT INTO ord VALUES (10081, 3333,'套餐一', '2023-01-04 15:23:00','支付完成');
INSERT INTO ord VALUES (10083, 2222,'套餐二', '2023-01-01 13:28:33','支付完成');
INSERT INTO ord VALUES (10084, 5555,'套餐二', '2023-01-01 13:28:33','支付完成');
INSERT INTO ord VALUES (10085, 1111,'套餐一', '2023-01-01 14:00:00','支付完成');
INSERT INTO ord VALUES (10086, 1111,'套餐一', '2023-01-04 15:23:00','取消');


SELECT COUNT(订单_id) as '每日访问用户数' ,
    (SELECT COUNT(*) FROM t_view.t_view) AS '每日访问用户数'
FROM ord.ord
GROUP BY 订单状态
HAVING 订单状态 = '支付完成'

##问题二:计算访问用户下单转化,即每天访问的用户中有多少下单的用户,输出:日期、当天访问用户、当天访问下单用户数
SELECT  DAY(访问时间) AS '日期' , 
    COUNT(访问页面名称) AS '当天访问用户' , 
    (SELECT  COUNT(访问页面名称) AS '当天访问用户' 
     FROM t_view.t_view
     GROUP BY 访问页面名称
     HAVING 访问页面名称 = '创建订单页'
    ) AS '当天访问下单用户数' 
FROM t_view.t_view
GROUP BY 日期

##问题三:计算2023-01-01的的下单新用户中有多少复购的用户,复购的定义为有支付完成第二单
SELECT 支付用户id , 下单日期 , COUNT(订单状态) AS '次数'
FROM ord.ord
GROUP BY 支付用户id, 下单日期
HAVING 下单日期 = '2023-01-01' AND 次数 >= 2