使用每日计数读取用户注册(MySQL)

时间:2015-07-26 05:32:55

标签: mysql mysqli

我有一个包含用户数据的表格,我想进行一个有效的查询来选择用户Count(userId例如)PER DAY。

所以输出将是:

20/07/2015 - 50 new users
21/07/2015 - 23 new users
22/07/2015 - 19 new users

如何使用一个查询执行此操作?一个while()循环然后每天进行一次查询对我来说效率都非常低。

1 个答案:

答案 0 :(得分:0)

您可以拥有一个具有以下结构的架构(我正在使用MySql的语法):

create table users(
  user_id int,
  create_date date
);

说它填充了以下数据:

insert into users values (1, STR_TO_DATE('1-01-2012', '%d-%m-%Y'));
insert into users values (2, STR_TO_DATE('1-01-2012', '%d-%m-%Y'));
insert into users values (3, STR_TO_DATE('1-01-2012', '%d-%m-%Y'));
insert into users values (4, STR_TO_DATE('2-01-2012', '%d-%m-%Y'));

如果您选择用户ID并按create_date对其进行分组,则您将使用单个查询获得所需的响应:

 select count(user_id) as count,create_date  from users group by create_date;

count   create_date
3       January, 01 2012 00:00:00
1       January, 02 2012 00:00:00