活动用户SQL查询 [英] Active Users SQL query
本文介绍了活动用户SQL查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试绘制Web应用程序中的活动用户图.我的数据库包含两个主表,user
和task
. task
有一个user_id
.
I'm trying to graph active users in a webapp. My database consists of two main tables, user
and task
. task
has a user_id
.
我对活跃用户的定义是在给定结束日期的两周内创建了两个以上任务的用户.
因此,我需要一个SQL查询,该查询可以提供给定开始日期和结束日期之间的活动用户数.我可以通过将查询放入循环中来完成此操作,每次都提取结果,但是我很希望能够在单个查询中完成该操作.
So, I need an SQL query that gives me the number of active users between a given start and end date. I was able to do this by putting the query inside a loop, pulling the results each time, but I'd love to be able to do it in a single query.
返回的数据应类似于:
Date Count
2010-01-01 4
2010-01-02 3
2010-01-03 5
编辑以澄清所需的数据集.
Edit to clarify desired dataset.
推荐答案
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
这篇关于活动用户SQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文