我有2代表與表結構 -報告列出新的和日常的老用戶訪問,每月或每年
用戶(用戶名 INT,名稱 VARCHAR(50),dateCreated會日期時間)和
用戶登陸(標識 INT,用戶ID INT,DateLogge DIN日期時間)
我需要產生誰是登錄到應用程序的所有日/月/年以下格式的用戶的報告 -
日期,newusers使用,OldUsers,TotalUsers
日期 - 如果在應用程序中的第一次用戶登錄,他將被作爲新的OT治療 - 選擇報告
NEWUSER日期herwise作爲舊用戶。
OldUser - 第一次訪問後的後續用戶登錄。
例如,如果用戶A在15號登錄了一個月,他將在15日被視爲新用戶,但作爲舊用戶在網站上進行後續訪問,並且需要在報告中作爲舊用戶進行報告。同樣,如果用戶B在2012年4月30日登錄了一次,那麼他將被視爲舊用戶。
你們可以請給我一個查詢來輸出報告嗎?
我的數據如下 -
USER表
| UserID | Name | DateCreated | |--------|--------------|-------------| | 1 | Rajveer | 2012-01-01 | | 2 | Manoj Tyagi | 2011-08-10 | | 3 | Raghu Pandey | 2009-05-13 | | 4 | Bhajan Lal | 2012-05-01 | | 5 | Satbir Singh | 2011-08-03 |
USERLOGIN表
| ID | UserID | DateLoggedIn | |----|--------|--------------| | 1 | 1 | 2012-04-27 | | 2 | 1 | 2012-05-25 | | 3 | 1 | 2012-05-28 | | 4 | 2 | 2012-03-21 | | 5 | 2 | 2012-05-30 | | 6 | 3 | 2012-05-20 | | 7 | 4 | 2012-05-29 | | 8 | 5 | 2012-04-22 | | 9 | 3 | 2012-05-15 |
我需要整個數據一個月(所以不同的不需要)...基於我提供的數據,我應該得到以下內容
| Month | NewUsers | OldUsers | TotalUsers | |-------|----------|----------|------------| | 3 | 1 | 0 | 1 | | 4 | 2 | 0 | 2 | | 5 | 2 | 4 | 6 |
由於用戶標識3在5月登錄兩次,他的第一次訪問應該被視爲新的,第二次訪問應該被視爲舊的。
TIA,
Paritosh Arya。
你想擁有用戶列表還是隻計算它們(就像在@eggyal答案中一樣)?如果你想要列表,在一個選擇中選擇OldUsers Newusers和TotalUser會很奇怪。這是可能的,但它會導致排名靠後的名單,我認爲最好做3次選擇。 – Joe
在您的示例數據中,每次訪問都發生在相應用戶的'DateCreated'之後(在大多數情況下,顯着如此),因此每次訪問時每個用戶都是「舊」不?你爲什麼在你的示例輸出中將用戶顯示爲「新」? – eggyal
用戶首次登錄時,我需要在報告中顯示新用戶登錄到該網站。之後,用戶(之前已經登錄)成爲舊用戶,並且不再是唯一的,因此需要列爲舊用戶。這只是我正在努力以這種方式呈現數據的報告的邏輯......因此,在獲得註冊後,如果用戶第一次登錄,報告應該說一個新用戶登錄。任何後續訪問會認爲他是老用戶 – user869375