[英]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.