[英]A query to calculate registered users per day in a range of 3.5 months
我有一个名为“ users”的表,用户在其中注册,注册日期另存为“ created_on”。 我希望编写一个查询,显示从2017年3月1日到2017年6月15日每天有多少用户在我们的网站上注册。
不幸的是我不能。
结果显示如下:
Date Count
01-03-2017 232
02-03-2017 422
03-03-2017 531
...
这个问题是一个很好的例子,可以方便地使用日历表。 在下面的查询中,我假设存在一个表,其中包含从2017年3月1日到2017年6月15日(含)的所有日期。此表的内联形式如下所示:
SELECT '2017-03-01' AS Date UNION ALL
SELECT '2017-03-02' UNION ALL
-- ...
SELECT '2017-06-15'
假设您有一个日历表,您可以将其加入当前表以获取计数:
SELECT
c.Date, COUNT(t.created_on) AS signup_count
FROM calendar c
LEFT JOIN yourTable t
ON c.Date = t.created_on
GROUP BY Date
请注意,这里可能需要一个日历表,因为可能有几天没有人签署。 在这种情况下,原始表本身没有足够的信息来生成您期望的输出。
SELECT created_on,COUNT(*)
FROM users
WHERE created_on BETWEEN '2017-03-01' AND '2017-06-15'
GROUP BY DATE(created_on)
请尝试上述查询。
希望这会帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.