我有一個表記錄用戶登錄的時間。我需要生成一個報告來顯示用戶每個月登錄的次數。我該怎麼做呢 ?查找MYSQL中的重複項
- 編輯 - 我可以打印每個用戶在一個月內出現X次,這對我來說確實很好。但是我想顯示一個月的列表,顯示一個月內登錄5次的人數。
我有一個表記錄用戶登錄的時間。我需要生成一個報告來顯示用戶每個月登錄的次數。我該怎麼做呢 ?查找MYSQL中的重複項
- 編輯 - 我可以打印每個用戶在一個月內出現X次,這對我來說確實很好。但是我想顯示一個月的列表,顯示一個月內登錄5次的人數。
從評論說:「我想顯示有多少用戶在超過5次登錄」
SELECT YearMonth, COUNT(User)
FROM (
SELECT
User
, DATE_FORMAT(LoggedInTime, '%Y-%m') As YearMonth
FROM user_logins
GROUP BY User, YearMonth
HAVING COUNT(*) > 5
)GROUP BY YearMonth
可以在這裏找到適合你的主要選擇(IMO)是計算用戶出現的次一組,每月像這樣:
SELECT user_id,
count(datetime) as logins,
MONTH(datetime) as month
FROM table
GROUP BY 1, 3
的日期和時間函數在mysql中檢查手冊here
你如何記錄時間,希望DateTime類型? – HadleyHope 2011-03-14 09:57:52
是日期時間類型! – Deepak 2011-03-14 10:03:23