创建一个与注册日期相关的预订表

  • 本文关键字:日期 注册 一个 创建 sql
  • 更新时间 :
  • 英文 :


我正在寻找一个SQL查询,它将告诉我注册帐户后每天参与的用户百分比。在输出表中;在这一天参与的用户的百分比"不是指特定的一天,而是指他们注册后的相对天数(即,无论日历日期如何,他们拥有账户的"第一天"(。

因此,如果我有三个用户,他们在前两天都使用该应用程序,然后停止,那么第1天和第2天的输出将是100%,自第一个用户注册以来的输出将为0%。第一天是他们注册的日子,所以这一天应该是100%(他们的注册将显示在订婚表中(。我相信查询将如下开始,但我不知道如何计算第N天参与的人数(分子(,以及注册至少N天的总人数(分母(。

SELECT date - signup_date as days_since_signup
FROM Users u
JOIN Engagement e
ON u.user_id=e.user_id
…

用户表

user_idsignup_date
432021年4月26日
762021年4月29日
772021年5月2日

这应该做到:

SELECT days_since_signup, 
MAX(a.num_users)/COUNT(1) as pct_users
FROM ( SELECT date - signup_date as days_since_signup,
COUNT(1) as num_users
FROM Users u
JOIN Engagement e
ON u.user_id=e.user_id
GROUP BY days_since_signup
) a, 
Users u
WHERE today - u.signup_date >= days_since_signup
GROUP BY days_since_signup

最新更新