2011-09-13 16 views
2

登録されたユーザーの数または(サイトがフォーラムであると仮定した場合の)メッセージの数 - 合計、今日、昨日、先週について、ユーザーは通常どのようにサイト統計を収集しますか?ユーザーとメッセージテーブルのCount()を1時間/ 1日/週ごとに実行するか、よりスマートなインクリメンタルアプローチがありますか?サイトのユーザー統計の収集

答えて

3

確かに、すべてのアクティビティを日付のタイムスタンプでログに記録してから、表示する2つの日付の間にあるレコードを照会します。これが既存のプロジェクトの場合は、このデータをすべて取得していない可能性もありますが、その場合はかなり詰まっています。

あなたはこれを作っている場合は、しかし、それはこのようにそれを行うのが一般的である:

はあなたがフォーラムであなたのメッセージのためのテーブルを持っていると言うことができますが。あなたは、このようなデータベース内の各ポストを格納することができ:

CREATE TABLE forum_post 
    (
    thread_posted_to_id int, 
    user_id int, 
    message text, 
    date_posted datetime DEFAULT (getdate()) 
    ) 

CREATE TABLE users 
    (
    user_id int, 
    name text, 
    date_signed_up datetime DEFAULT (getdate()) 
    ) 

次に、あなただけの特定のユーザーからのすべての記事の数を取得するには、このようにそれに対してクエリを実行できます。

select count(*) from forum_post where user_id = ? 

それともたい場合範囲内の日付のみ

select count(*) from forum_post where user_id = ? and date_posted between ? and ? 

選択したいデータに疑問符を記入してください。

関連する問題