2011-01-14 7 views
0

SQL Datetime을 처음 사용합니다.사용자가 가장 자주 근무하는 시간 및/또는 기간을 가져 오는 SQL 문

Datetime 데이터가 포함 된 MySQL 레코드 (아래 참조)가 있다고 생각하면 특정 사용자 (예 : 존)에 대해 가장 자주 발생하는 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 

, 는 존이구경을 수행하는 시간은 자주, 13 것이다.

목표는 사용자가 특정 활동을 가장 많이하는 기간/시간을 찾는 것입니다.

미리 도움을 청하십시오!

+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') 

같은 것을 쓸 수 있습니다 오라클과