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