2012-08-30 114 views
0

我對這個問題有點困惑。我正在嘗試爲我的網站製作觀看系統。按日期最佳方法視圖

我在mySQL數據庫中獲得了770行文章,我試圖做一個視圖系統來知道哪篇文章獲得了最多的視圖和時間。 (今天,3天前,本週,本月)

我試圖做這樣的事情在MySQL數據庫:

表:觀點

ID articleID date 

但是當時我不知道如何把它們加起來?如果我將添加列的'意見'它不會幫助我,因爲我必須一直改變日期。

amm有人可以請教我嗎?

非常感謝!

+0

你在哪裏存儲 「視圖」? –

回答

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 
+0

感謝您的答案。 –

2

這是您的任何觀點

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

附註的代碼文章ID上的索引至關重要。

+0

謝謝你的回答。 –

相關問題