我几乎惹毛了,而试图解决此问题:SQL查询来算注册用户每
在我的应用程序的用户可以注册并删除themselfes。创建日期和删除日期作为时间戳记在数据库中保存。我需要知道在一天中的每一天,当天有多少注册用户和未被删除的用户。
因此,如果我在2012-02-01上有10个现有用户,2012-02-03上删除了该帐户的一个用户,2012-02-04上注册了三个用户,2012-02- 06,和查询注册用户总数从2012-02-01到2012-02-07我想获得这样的结果:
day total_users 2012-02-01 10 2012-02-02 10 2012-02-03 9 2012-02-04 12 2012-02-05 12 2012-02-06 10 2012-02-07 10
这是我简单的用户表的样子:
USER_ID,USER_NAME,created_at,deleted_at
这是没有问题的,以获得数Ò ˚F登记,不会被删除用户的某一天(这里2012-02-01,这将让我一个10在我的例子):
select application.application_id as application_id, count(user.user_id) as user_total
from application, user
where application.application_id = user.application_id
and date(user.created_at) <= '2012-02-01'
and ((date(user.deleted_at) > '2012-02-01') or (user.deleted_at is null))
谁有线索我怎么可以创建一个查询(没有光标)会有我的预期结果?我的数据库是Debian上的MySQL 5.0.51。
在此先感谢 马库斯
非常感谢,完美的作品!我只需要用t0,t1等替换每行中的“i”,我认为这是我的旧MySQL服务器的错。 – 2012-02-17 08:38:51
@MarcusMuench:哎呀,我的错。我已更正查询 - 谢谢。 – 2012-02-17 10:25:02