2011-01-14 54 views
0

我是SQL日期時間的新手。SQL語句爲用戶獲取最頻繁的小時和/或句點

考慮到我在MySQL中使用Datetime數據(如下所示), 爲特定用戶(即john)獲取這些記錄最頻繁出現的HOUR或範圍/期間的最佳方式是什麼?

ID  | Datetime   | User  | Activity 
0 2010-03-29 13:15:56  john   visit 
1 2010-03-29 13:13:14  ariel  visit 
2 2010-03-29 13:09:13  john   visit 
3 2010-03-29 13:07:21  john   visit 
4 2010-02-23 12:21:03  john   visit 
5 2010-02-23 12:01:03  john   visit 
6 2010-02-23 11:01:03  john   visit 
7 2010-02-23 02:01:03  john   visit 

通過上述數據, 爲約翰訪問頻繁小時將,而期間將也許12-13

目標是找出用戶最活躍的時間段。

在此先感謝您的幫助!

+0

你使用什麼rdbms? – lweller 2011-01-14 16:05:49

回答

0

與Oracle,你可以寫類似

select TO_CHAR(Datetime, 'HH24'), count(ID) from Table group by TO_CHAR(Datetime, 'HH24') 

其他RDBMS使用等效函數從日期時間字段中提取小時部分。