Mysql 表DAU在sql中不使用任何过程的联接

Mysql 表DAU在sql中不使用任何过程的联接,mysql,sql,database,Mysql,Sql,Database,有谁能在不使用任何循环或过程(仅使用联接)的情况下帮助我解决SQL查询中的问题 表DAU 每天一名玩家进入游戏,他/她的用户id和他/她进入游戏的日期都会记录在一个表中,比如table DAU。它有两列。1.用户标识2。日期 在一个特定的日期,玩家只能有一个条目(同一天不能有多个条目)。然而,同一个玩家可以在不同的日期出现 此表包含自2015年1月1日(即1月1日)起的数据。下面是此表中的示例条目 用户id日期 1001 6/1/2015 1002 6/1/2015 1003

有谁能在不使用任何循环或过程(仅使用联接)的情况下帮助我解决SQL查询中的问题 表DAU

每天一名玩家进入游戏,他/她的用户id和他/她进入游戏的日期都会记录在一个表中,比如table DAU。它有两列。1.用户标识2。日期

在一个特定的日期,玩家只能有一个条目(同一天不能有多个条目)。然而,同一个玩家可以在不同的日期出现

此表包含自2015年1月1日(即1月1日)起的数据。下面是此表中的示例条目

用户id日期 1001 6/1/2015 1002 6/1/2015 1003 6/1/2015 1001 6/2/2015 1002 6/2/2015 1004 6/2/2015 1002 6/3/2015 1003 6/3/2015 1005 6/3/2015

表付款

此外,每次玩家在游戏中付款时,他/她的用户id和付款时的时间戳都会记录在一个表中,例如表付款。它有两列。1.用户标识2。付款时间戳

玩家可以在同一天或几天内进行多次付款

下面是此表中的示例条目。 用户id付款时间戳 1001 6/1/2015 07:00 1001 6/1/2015 07:30 1002 6/1/2015 10:00 1001 6/2/2015 13:50 1002 6/2/2015 08:00 1004 6/2/2015 09:00 1003 6/3/2015 10:00 1005 6/3/2015 08:30

我们将特定日期(如2015年6月1日)的90天付款人DAU定义如下:

计数(2015年6月1日来的玩家,在过去90天内,即2015年3月4日至2015年6月1日期间,在游戏中至少支付了一笔款项)

同样,2015年6月2日的90天付款人DAU将为:

计数(2015年6月2日来的玩家,在过去90天内,即2015年3月5日至2015年6月2日期间,在游戏中至少支付了一笔款项)

问题:

使用DAU表和付款表,请编写SQL查询以生成下表。 日期90天付款人DAU 2015年6月1日
2015年6月2日
2015年6月3日
2015年6月4日
2015年6月5日
2015年6月6日
2015年6月7日

练习2

我们将特定日期(如2015年6月1日)的D1定义如下:

100*计数(2015年6月1日和2015年6月2日的球员)/计数(2015年6月1日的球员)

同样,我们将特定日期(如2015年6月1日)的D2定义如下:

100*计数(2015年6月1日和2015年6月3日的球员)/计数(2015年6月1日的球员)

对于D3、D4、D5……Dn,依此类推

问题:

使用练习1中解释的DAU表,请编写SQL查询以生成下表

`日期球员总数D1 D2 D3 D4 D5 D6 D7 2015年6月1日2015-06-01 D1 2015-06-01 D2 2015-06-01 D3 2015-06-01 D4 2015-06-01 D5 2015-06-01 D6 2015-06-01 D7 2015-06-01 2015年6月2日2015-06-02 D1 2015-06-02 D2 2015-06-03 D3 2015-06-02 D4 2015-06-02 D5 2015-06-02 D6 2015-06-02 D7 2015-06-02 2015年6月3日等
2015年6月4日
2015年6月5日
2015年6月6日
2015年6月7日

练习1的答案 从dau中选择dau.日期\时间、计数(付款人.用户\ id) payer.user\u id=dau.user\u id上的内部加入付款人 哪里
日期(付款时间戳)到目前为止你能做些什么?请不要在这里用plz send teh codez转储作业。我已经创建了表payer表和dau表,并得到了第一个问题的答案,即选择dau.date\U time,count(payer.user\U id)从dau内部加入payer上的payer.user\U id=dau.user\U id where date(付款时间戳)请编辑您的问题,评论不是为了澄清。也请使用代码块格式化您的表格。再次,显示您能够完成的部分。