每天获得新用户,累计用户比方说,我有一个MySQL表t:mysql的:通过
DateTime timestamp;
int userid;
,我想知道有多少总用户有一段时间。我有这个:
2012-12-04 102
2012-12-05 101
2012-12-05 102
2012-12-05 103
2012-12-07 101
2012-12-08 104
因此,第一次看到101是12/5,第一次看到104是12/7,依此类推。所以我想这一点,总用户有史以来见过的日期:
2012-12-04 1
2012-12-05 3
2012-12-07 3
2012-12-08 4
(我不如果有在那里额外日期将没有新的条目关心。)
最接近我已经能够得到的是每天的新用户数量:
select distinct date, count(*) from
(select MIN(DATE(timestamp)) date from t group by userid order by date) t1 \
GROUP BY date;
这似乎工作;子查询为每个用户标识提供最早的时间戳,外部查询按日期进行组合。但是,我怎样才能把它卷起来以获得有史以来的总数呢?
噢,我看着MySQL query - find "new" users per day但它似乎没有做我在找什么。
只有代码的答案几乎和只链接答案一样糟糕。他们根本不是真正的答案。一个很好的答案包含解释和推理,可能还有一些来源或权威。 – markus
看起来你有一天忙碌的一天!这个解决方案比迄今为止提供的唯一正确的答案有优势。 – Strawberry
解释为什么你的答案是正确的,downvote另一个答案,并解释为什么它不正确。这就是SO的工作原理......这就是让SO不是论坛的原因! – markus