0

我正在尝试为我的网站制作视图系统。

我的 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 回答