MySQL - 计算每天的用户数并计算所有用户数
MySQL - count users for each day and count them all
是否可以在同一查询中计算每天的新用户并计算 table 中的所有用户?
此查询正在运行(它正在计算每天的用户数),我只需要添加它正在计算所有用户数的部分。
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
我需要一个新行,其中包含所有用户的数量。
你可以使用联合:
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
您可以使用 WITH ROLLUP
选项来 GROUP BY
。这将向包含总体 COUNT()
.
的结果集添加一个额外的行
顺便说一句,the DATE()
function produces the date from a DATETIME
item, such as your add_date
column. The DAY()
function 生成月份中的第几天。你应该决定你需要哪一个。
我想这个查询会做你想做的。
SELECT COUNT(iduser) as newUsers, DATE(add_date) day
FROM cs_user
GROUP BY DATE(add_date) WITH ROLLUP
是否可以在同一查询中计算每天的新用户并计算 table 中的所有用户? 此查询正在运行(它正在计算每天的用户数),我只需要添加它正在计算所有用户数的部分。
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
我需要一个新行,其中包含所有用户的数量。
你可以使用联合:
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
您可以使用 WITH ROLLUP
选项来 GROUP BY
。这将向包含总体 COUNT()
.
顺便说一句,the DATE()
function produces the date from a DATETIME
item, such as your add_date
column. The DAY()
function 生成月份中的第几天。你应该决定你需要哪一个。
我想这个查询会做你想做的。
SELECT COUNT(iduser) as newUsers, DATE(add_date) day
FROM cs_user
GROUP BY DATE(add_date) WITH ROLLUP