是否可以计算每天的新用户数并计算同一查询中表中的所有用户? 此查询正在运行(它每天计算用户数),我只需要添加计算所有用户的部分。
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
我需要一个新行,它应该写出所有用户的数量。
答案 0 :(得分:4)
您可以使用WITH ROLLUP
选项GROUP BY
。这将在结果集中添加一个额外的行,其中包含整体COUNT()
。
顺便说一下,the DATE()
function会从DATETIME
项生成日期,例如您的add_date
列。 The DAY()
function生成该月的某一天。你应该决定你需要哪一个。
我认为这个查询会做你想要的。
SELECT COUNT(iduser) as newUsers, DATE(add_date) day
FROM cs_user
GROUP BY DATE(add_date) WITH ROLLUP
答案 1 :(得分:2)
你可以使用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