我有一个表格,记录用户每次登录我的应用程序时的日期。
该表如下所示:
Userid: int
logintime: timestamp
数据如下所示:
Userid logindate
2 2013-09-01
2 2013-09-02
3 2013-09-02
4 2013-09-02
4 2013-09-03
5 2013-09-03
我想在跟踪旧用户的同时找到每天新的不同用户的数量,所以我想要的结果如下所示:
logindate count of users
2013-09-01 1
2013-09-02 3
2013-09-03 4
在 2013 年 9 月 1 日,我需要在这一天计算不同 在 2013 年 9 月 2 日,我需要在 2013 年 9 月 1 日和 2013 年 9 月 2 日之间计算不同 在 2013 年 9 月 3 日,我需要在 2013 年之间计算不同-09-01 和 2013-09-03
我想到了类似下面的东西,但它永远不会返回(需要很多时间)
select date(ul.logintime) d,
(select count(distinct ul2.userid) from userlogin ul2 where
date(ul2.logintime) between ADDDATE(LAST_DAY(SUBDATE(curdate(), INTERVAL 1 MONTH)), 1)
and date(ul.logintime)) dis from userlogin ul where month(logintime) = 9;
我正在使用Mysql服务器,任何帮助