mysql统计每一天的新用户数_实现统计某个月内每天新增用户数的方法

如今有一个需求:管理员选择某一个月份,然后显示这个月每天的新增用户数。

首先获得管理员选择的日期,然后获得本月的起始时间戳和结束时间戳,在通过和member表中的addtime字段进行比較,从而获得当月新增的用户列表。这个是不难实现的。

那么要怎么获得每日的新增用户数量呢?假设要用select count(1) 这种语句配合addtime>=begin_time+86400 and addtime<=begintime+172800这种条件来查询就太恐怖了。先不说操作复杂,并且运行一次操作就要查询30或31次,这样肯定不行。

能够换一个思路,既然我们已经能够获得当月新增的用户列表members,那么每一个用户的addtime我们也能够知道了,此时能够对整个members列表进行遍历。把日期作为键名。用户数作为键值创建一个新数组。假设某条记录的addtime已经在数组中存在的话就加1,不存在的话就以这个addtime创建一个新元素。

$arr_mem = array();

foreach ($members as $k => $v) {

$datetime = substr($v['addtime'],0,10);//得到年月日

//得到每日新增用户数

if(array_key_exists($datetime,$arr_mem)){

$arr_mem[$datetime] +=1;

}else{

$arr_mem[$datetime] =1;

}

}

var_dump($arr_mem);die;

/*

array (size=31)

'2013-12-01' => int 64

'2013-12-02' => int 191

'2013-12-03' => int 200

'2013-12-04' => int 217

'2013-12-05' => int 217

'2013-12-06' => int 228

'2013-12-07' => int 148

'2013-12-08' => int 91

... ...

*/

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值