需要在我的SQL查询中进行一些修改

时间:2012-12-11 07:12:08

标签: mysql sql

我有一个查询,它返回在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上解决了。问题解决了,但我需要修改查询,现在我还需要显示空值。

由于

2 个答案:

答案 0 :(得分:3)

保留calender_table的最佳方式,该日历有一年中每个日期的条目。

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

答案 1 :(得分:0)

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

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

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

只需在第一个用户注册之前找到日期,并像上面一样为其指定零。