2

我有一个查询,它返回以 7 天的间隔时间在特定日期注册的用户总数。我还想获得零计数数据,以便我可以将其绘制在我的图表上。如何获取零计数值?

查询:

select date(update_timestamp) as date, count(*) users
from registered
where date(update_timestamp) between date_sub(sysdate(), interval 7 day) and sysdate()
group by date(update_timestamp)

我之前的查询几乎没有问题,这在这篇文章http://bit.ly/12irdyf上得到了解决。问题已经解决,但是我需要修改我的查询,现在我也需要显示空值。

谢谢

4

2 回答 2

3

保持一个日历表的最佳方法,该表有一年中每个日期的条目。

select    date(update_timestamp) as date, count(*) users
from      calender_table c
left join registered r
on        date(update_timestamp)=c.date
where     c.date between date_sub(sysdate(), interval 7 day) and sysdate()
group by  c.date
于 2012-12-11T07:19:46.390 回答
0

零计数值是什么意思?也许你需要:

select date(update_timestamp) as date, count(*) users, '0' AS zero

也许您想获取没有用户的日期?

只需找到第一个用户注册之前的日期,然后像上面一样为其分配零。

于 2012-12-11T07:15:59.637 回答