mysql如何统计一周之类/一月之类,每天注册的人数?

帮老师做项目的时候遇到一个问题,要统计一个系统中一周之类和一月之类每天注册系统的用户数,有什么高效便捷的的查询方式吗?

阅读 14.6k
3 个回答

你可以这样做:新增一个最近登录时间字段,然后查询的时候进行时间计算:当前时间-最近登录时间<=7的就是一周登录的用户,注册就增加一个创建时间字段

多个加3个字段嘛,日,周,月。不就很简单的搞定了?

添加一个字段(daytime)只精确到天(y-m-d),为了高效,可以加上索引,毕竟要group by daytime
这样的思路是可以把每天当成一个组,再利用count来计算每天(组)的数量,就是每天的注册数了。
SQL语句如下:
select count(1) from table group by daytime limit 7/(28/29/30/31)
一周就limit 7
一个月的话可以根据参数来定。
上述是解决以查询当天为标准来得出统计

如果要查询任一时间段,可以这样写
select count(1) from table where daytime between start and end group by daytime
望采纳~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题