我有四個表:如何獲得使用Mysql的總「活躍」用戶?
表A:users_table
表B:users_account_table
表C:fangates_table
表d:downloads_table
表A(users_table)包含3個列:ID,NAME和GATE_COUNT。表C(fangates_table)包含用戶門。 表D(downloads_table)包含fangates_table_id和account_id。
TABLE A
ID | NAME | GATE_COUNT
---------------------------
1 | Joy | 2
---------------------------
2 | Ash | 0
---------------------------
3 | Nik | 2
---------------------------
4 | Wox | 0
TABLE B
ID | A_ID | ACCOUNT_ID
---------------------------
1 | 1 | 123456
---------------------------
2 | 1 | 654321
---------------------------
3 | 3 | 5888
---------------------------
4 | 3 | 8787
TABLE C
ID | A_ID | TITLE
---------------------------
1 | 1 | ABCD
---------------------------
2 | 1 | DFCV
---------------------------
3 | 3 | FGTG
---------------------------
4 | 3 | FRGTG
TABLE D
ID | C_ID | ACCOUNT_ID
---------------------------
1 | 1 | 123456
---------------------------
2 | 2 | 123456
---------------------------
3 | 3 | 7859
---------------------------
4 | 1 | 7585
從上面的表中,我試圖獲得總「有效」用戶
我曾嘗試(其中的活動用戶與具有其他任何下載fangates不自理定義爲用戶)的在查詢之後,但它失敗了。
SELECT COUNT(*) FROM D
WHERE (C_ID,ACCOUNT_ID)
NOT IN
(SELECT C.ID, B.ACCOUNT_ID FROM A
LEFT JOIN B ON A.ID = B.A_ID
LEFT JOIN C ON A.ID = C.A_ID
WHERE A.GATE_COUNT >0);
什麼是您的標誌,以確定有效和無效的用戶? –
一個活躍的用戶是一個用戶,他的粉絲在donwloads表中有任何下載,但不是他自己 –