我正在尝试计算1天,7天和2周的保留率,但我陷入困境。名为UIViewController
的表具有首次登录的日期。名为presentingViewController
的表格具有所有后续登录的日期。
我的想法是从users
表中找到“最大”或最近的登录信息,并查看自用户首次登录以来这是多少天。最后,我希望按首次登录日期进行分组,并计算1天后,7天后和14天后登录应用程序的“同类群组”中的用户数。我觉得我很接近,但它并不存在。
以下是我到目前为止的情况。
logins
任何提示都将不胜感激。
答案 0 :(得分:1)
我将假设你问题中的查询是正确的,你需要帮助才能更进一步。
看起来您要做的是从第一个查询的结果中进行选择,并计算具有retentionDays> = 1的用户数,具有retentionDays> = 7的用户数以及具有的用户数retentionDays> = 14。
在SQL中翻译,提供如下查询:
SELECT
SUM(IF(retentionDays >= 1, 1, 0)) as 1day
SUM(IF(retentionDays >= 7, 1, 0)) as 7days
SUM(IF(retentionDays >= 14, 1, 0)) as 14days
FROM (
/* your previous query */
) as computedRetentionDays;
如果您想要比率而不是值,则可以将每个总和除以COUNT(uid)
。
话虽如此,我建议您在lastlogin_ts
上添加一列users
,这将使您的生活更轻松(此查询更快)。