簡體   English   中英

前一周的mysql查詢無效用戶

[英]Mysql query inactive user for previous week

我有一個表action_info,每個用戶都在其中單擊保存。我需要統計上周的非活動用戶。 這是ACTIVE用戶的查詢:

SELECT COUNT( DISTINCT user_id ) as active_for_week FROM action_info 
     WHERE action_name = 'attack' 
     AND time >= (CURDATE( ) - INTERVAL 7 DAY)

這將從用戶表中排除上周所有活動的用戶,因此只為您提供非活動用戶。 我希望這是您要尋找的。

SELECT COUNT(*) FROM users WHERE ID NOT IN(
    SELECT DISTINCT user_id FROM action_info 
        WHERE action_name = 'attack' 
        AND time >= (CURDATE( ) - INTERVAL 7 DAY)
) 

更新:

無需查詢用戶表,您可以執行以下操作:

SELECT COUNT(DISTINCT user_id) AS not_active_last_week FROM action_info 
WHERE action_name = 'attack' AND user_id NOT IN ( 
    SELECT DISTINCT user_id FROM action_info 
    WHERE action_name = 'attack' 
    AND time >= (CURDATE( ) - INTERVAL 7 DAY) 
)

這樣一來,您可以得出某個時刻處於活動狀態的所有用戶的數量,但上周沒有。 這是SQL小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM