按日期的最佳方法视图

时间:2012-08-30 05:58:16

标签: php

我正在尝试为我的网站制作一个观看系统。

我的MySQL数据库中有770行文章,我正在尝试使用视图系统来了解哪篇文章获得了最多的观看次数。 (今天,3天前,本周,本月)。

我试图在MySQL数据库中做这样的事情:

表:观点

ID  articleID   date

但后来我不知道怎么总结一下?如果我要添加列“视图”它不会帮助我,因为我必须一直更改日期。

2 个答案:

答案 0 :(得分:2)

这是您的任何视图的代码

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

P.S。索引至关重要。

答案 1 :(得分: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