2011-01-14 8 views
0

SQL Datetimeを初めて使用しています。ユーザが最も頻繁に使用する時間や期間を取得するSQL文

Datetimeデータを含むMySQLのレコードがあります(下記参照)。 特定のユーザー(つまり、john)のレコードで最も頻繁に発生するHOURまたは範囲/期間を取得する最も良い方法は何ですか?期間はおそらく12-13になりながら、上記のデータと

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 

、 はジョン訪問を行うため頻繁に時間は、だろう。

目的は、ユーザーが特定のアクティビティを最も多く行う期間/時間を見つけることです。

ご協力いただきありがとうございます!

+0

どのようなrdbmsを使用しますか? – lweller

+0

なしatm - 私はそれを調べ始めるべきだと思いますか? – sprion

+0

私が投稿した回答は、最も人気のあるRDBMSの言葉になりますが、あなたがオラクルを使用していない場合には異なるかもしれない正しい機能を選択する必要があります。 – lweller

答えて

0

それはあなたが使用しているデータベースに依存することができますが、MySQLでは:

SELECT COUNT(id) as count, HOUR(Datetime) as hour FROM table GROUP BY hour ORDER BY count DESC LIMIT 1 

あなたは他の

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

ような何かを書くことができますOracleと

関連する問題