MySQL -每天计数用户,并计数他们全部



是否有可能在同一个查询中计算每天的新用户并计算表中的所有用户?这个查询是工作的(它是计数用户每天),我只需要添加部分,它是计数所有用户。

SELECT COUNT(iduser) as newUsers, add_date
FROM cs_user
GROUP BY DAY(add_date)

示例:

 newUsers   add_date    
1   2016-05-05 17:33:49
5   2016-03-10 16:44:33
2   2016-04-15 19:50:42
5   2016-05-16 18:46:52
6   2016-04-18 15:01:34
1   2016-03-21 23:50:40
2   2016-03-22 18:22:48
3   2016-03-23 22:02:45
2   2016-03-25 16:38:56
15  2016-04-27 18:05:43
3   2016-04-29 04:54:05
23  2016-03-30 17:27:26

我需要一个新的行,它应该写所有用户的数量。

可以将WITH ROLLUP选项改为GROUP BY。这将在包含整个COUNT()的结果集中添加一个额外的行。

顺便说一下,DATE()函数从DATETIME项产生日期,例如您的add_date列。DAY()函数生成月份的日期。你应该决定你需要哪一个。

我想这个查询可以满足你的要求。

SELECT COUNT(iduser) as newUsers, DATE(add_date) day
  FROM cs_user
 GROUP BY DATE(add_date) WITH ROLLUP

可以使用union:

SELECT COUNT(iduser) as newUsers, add_date
FROM cs_user
GROUP BY DAY(add_date)
UNION ALL
SELECT   COUNT(iduser) as newUsers, NOW()
FROM cs_user

相关内容

最新更新