2012-01-13 3 views
0

私は、投稿/エントリを含むmysqlのテーブルを持っています。これらの投稿には作成日があり、分類されています。私がしたいことは、これらのカテゴリの傾向を取得することです、各カテゴリはどのように過去1時間の傾向ですか?トレンドでは、私は、投稿の傾向を意味します。特定のアクティビティの傾向を計算する方法

+0

データベースにクエリを実行しますか?そのような場合は、誰かが助ける前にデータモデルに関する詳細情報を投稿する必要があります。 –

+0

「トレンド」とは何ですか? 1時間以内の総投稿数の上限は?新しい投稿がありますか?投稿総数の増加率?あなたの質問は何ですか?各投稿ごとにタイムスタンプがあるので、一定期間内に投稿を数えるのは簡単です。だから私はあなたの実際の問題が何であるか分かりません。 – Pondlife

答えて

0

質問にデータウェアハウス・タグを付けたので、おそらく2つの次元があるはずです。 1日の日付ディメンション、次に日付の時分秒の時間ディメンション。これらの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; 
関連する問題