我幾乎惹毛了,而試圖解決此問題: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