繁体   English   中英

用于计算每天的注册用户的查询,范围为3.5个月

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM