PHP + mysql でブログサイトを作成しています。

記事ランキング機能を実装しようと思っています。
現在は、記事ページを表示する度にDBカラムに+1していき集計しているのですが、
これでは日別や月別の集計ができません。
過去3日間など集計するにはどのような方法が良いでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/08/14 10:29:29
  • 終了:2013/08/21 10:30:07

ベストアンサー

id:gizmo5 No.1

gizmo5回答回数484ベストアンサー獲得回数1382013/08/14 11:41:33

ポイント50pt

アクセスログのような DB を作れば良いと思います。
最低限必要なカラムは、ユニークID、閲覧日時、記事のID または URL 。

例えば三日間であれば、WHERE で日付の範囲を直近三日で絞り込んで記事のID で GROUP BY 。

SELECT COUNT(記事ID) AS N FROM アクセスログ
	WHERE 閲覧日時 BETWEEN ... AND ...
		GROUP BY 記事ID ORDER BY N DESC

その他の回答(1件)

id:gizmo5 No.1

gizmo5回答回数484ベストアンサー獲得回数1382013/08/14 11:41:33ここでベストアンサー

ポイント50pt

アクセスログのような DB を作れば良いと思います。
最低限必要なカラムは、ユニークID、閲覧日時、記事のID または URL 。

例えば三日間であれば、WHERE で日付の範囲を直近三日で絞り込んで記事のID で GROUP BY 。

SELECT COUNT(記事ID) AS N FROM アクセスログ
	WHERE 閲覧日時 BETWEEN ... AND ...
		GROUP BY 記事ID ORDER BY N DESC
id:dawakaki No.2

だわかき回答回数797ベストアンサー獲得回数1222013/08/20 07:36:02

ポイント50pt

DBカラムに+1した年月日を追加します。
そのカラムを過去3日間で合計すればいいです。

MYSQLで月ごとの集計をおこないたい
http://okwave.jp/qa/q6826520.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません