2012-01-13 4 views
0

나는 게시물/항목을 포함하는 mysql 테이블을 가지고 있으며,이 게시물에는 생성 날짜가 있으며 범주가 있습니다. 제가하고 싶은 것은 그 카테고리의 트렌드를 얻는 것입니다, 각 카테고리는 지난 한 시간 동안의 트렌드는 어땠습니까? 트렌드에 따라, 나는 게시의 경향을 의미합니다.특정 활동의 추세를 계산하는 방법

+0

데이터베이스를 쿼리하고 싶습니까? 그렇다면 누구든지 도움을 받으려면 데이터 모델에 대한 추가 정보를 게시해야합니다. –

+0

"경향"은 무엇을 의미합니까? 마지막 1 시간 동안 총 게시물 수가 가장 많습니까? 새 소식? 총 게시물의 백분율 증가? 그리고 정확히 당신의 질문은 무엇입니까? 각 게시물마다 타임 스탬프가 있기 때문에 주어진 기간 내에 게시물 개수를 계산하는 것은 쉽습니다. 그래서 나는 당신의 실제 문제가 무엇인지 모르겠습니다. – Pondlife

답변

0

데이터웨어 하우스 태그로 질문을 표시 했으므로 아마도 2 차원이어야합니다. 날짜의 날짜 차원 다음 날짜의시, 분, 초 구성 요소에 대한 시간 차원. 이 두 부분이있는 경우 시간 차원을 주요 사실 그룹에 시간별로 결합하는 쿼리를 간단히 실행할 수 있습니다.

select pc.category, t.hour, count(*) 
from post_details pc, -- since you said they were categorized 
posts p, 
time_of_day t 
where p.time_of_day_id = t.time_of_day_id 
and p.post_details_id = pc.post_details_id 
group by pc.category, t.hour; 

모든 항목을 차원화하지 않아도 항목이 게시 된 날짜의 시간을 추출하고 그룹별로 작업을 수행 할 수 있어야합니다.

select p.category, extract(hours from p.post_date), count(*) 
from posts p; 
관련 문제