Web サイトのビュー システムを作成しようとしています。
私の MySQL データベースには 770 行の記事があり、どの記事がいつ最も多くのビューを獲得したかを知るためにビュー システムを実行しようとしています。(今日、3 日前、今週、今月)。
MySQLデータベースで次のようなことをしようとしました:
表: ビュー
ID articleID date
しかし、それを要約する方法がわかりませんか?列「ビュー」を追加しても、日付を常に変更する必要があるため、役に立ちません。
Web サイトのビュー システムを作成しようとしています。
私の MySQL データベースには 770 行の記事があり、どの記事がいつ最も多くのビューを獲得したかを知るためにビュー システムを実行しようとしています。(今日、3 日前、今週、今月)。
MySQLデータベースで次のようなことをしようとしました:
表: ビュー
ID articleID date
しかし、それを要約する方法がわかりませんか?列「ビュー」を追加しても、日付を常に変更する必要があるため、役に立ちません。
これは、任意のビューのコードです
CREATE VIEW purpose AS
SELECT
articleID,
COUNT(articleID) as view_count
FROM views
WHERE date_condition_depending_on_purpose
GROUP BY articleID
articleID のPSインデックスは重要です。
すべての記事:
SELECT
COUNT(*) AS number,
articleID
FROM
views
GROUP BY
articleID
ORDER BY
number DESC
2012 のみ:
SELECT
COUNT(*) AS number,
articleID
FROM
views
WHERE
YEAR(date) = 2012
GROUP BY
articleID
ORDER BY
number DESC
各月の特定の記事の場合:
SELECT
COUNT(*) AS number,
MONTH(date) AS stats_month,
YEAR(date) AS stats_year
FROM
views
GROUP BY
stats_month,
stats_year
ORDER BY
number DESC