我正在尝试绘制网络应用程序中的活跃用户图表。我的数据库由两个主表组成,user
and task
. task
has a user_id
.
我的定义活跃用户: is 在给定结束日期后两周内创建了 2 个以上任务的用户.
因此,我需要一个 SQL 查询来提供给定开始日期和结束日期之间的活跃用户数量。我可以通过将查询放入循环中,每次提取结果来完成此操作,但我希望能够在单个查询中完成此操作。
返回的数据应该类似于:
Date Count
2010-01-01 4
2010-01-02 3
2010-01-03 5
编辑以澄清所需的数据集。
SELECT t.taskdate, COUNT(DISTINCT u.user_id)
FROM user u
INNER JOIN task t
ON u.user_id = t.user_id
AND t.taskdate BETWEEN DATE_ADD(@EndDate, INTERVAL -2 WEEK) AND @EndDate
GROUP BY t.taskdate
ORDER BY t.taskdate
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)