0

Web サイトのビュー システムを作成しようとしています。

私の MySQL データベースには 770 行の記事があり、どの記事がいつ最も多くのビューを獲得したかを知るためにビュー システムを実行しようとしています。(今日、3 日前、今週、今月)。

MySQLデータベースで次のようなことをしようとしました:

表: ビュー

ID  articleID   date

しかし、それを要約する方法がわかりませんか?列「ビュー」を追加しても、日付を常に変更する必要があるため、役に立ちません。

4

2 に答える 2

2

これは、任意のビューのコードです

CREATE VIEW purpose AS
SELECT 
    articleID, 
    COUNT(articleID) as view_count 
FROM views 
WHERE date_condition_depending_on_purpose 
GROUP BY articleID

articleID のPSインデックスは重要です。

于 2012-08-30T06:01:38.530 に答える
1

すべての記事:

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
于 2012-08-30T06:01:55.897 に答える