我正在尝试为我的网站制作一个观看系统。
我的MySQL数据库中有770行文章,我正在尝试使用视图系统来了解哪篇文章获得了最多的观看次数。 (今天,3天前,本周,本月)。
我试图在MySQL数据库中做这样的事情:
表:观点
ID articleID date
但后来我不知道怎么总结一下?如果我要添加列“视图”它不会帮助我,因为我必须一直更改日期。
答案 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