簡體   English   中英

查詢以查找從第一個條目開始的過去 7 天內的條目數

[英]Query to Find number of entries in last 7 days from first entry

我有一個表,用戶 ID 和時間為 2 列。 時間包含創建行時的條目。 我想找到在為該用戶創建的第一個條目的 7 天內為每個用戶 ID 創建的條目數。

+--------+----------+
|userid  |date      |
+--------+----------+
|1       | 1st Apr  |
|2       | 2nd Apr  |
|1       | 2nd Apr  |
|1       | 2nd Apr  |
|1       | 3rd Apr  |
+--------+----------+

假設我們需要從第一個條目開始分別打印 2 天的計數:輸出應該是:

+--------+----------+
|userid  |count     |
+--------+----------+
|1       | 3        | //3 entries for 1st and 2nd Apr
|2       | 1        | //1 entry for 3rd Apr
+--------+----------+

注意:我需要在單個查詢中執行此操作。

嘗試這個:

SELECT COUNT([Date]) as count_entries, t.[user_id]
    FROM User_Time t
      WHERE [date] 
        BETWEEN 
            (SELECT MIN([date]) 
                    FROM User_Time 
                        WHERE [user_id] = t.[user_id]) 
        AND 
            (SELECT DATEADD(DAY, 7, MIN([date])) 
                 FROM User_Time 
                       WHERE [user_id] = t.[user_id])
    GROUP BY [user_id]

抱歉,我目前沒有 MySQL,但我希望你能適應它,將 DATEADD 更改為 DATE_ADD。

暫無
暫無

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

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