在my blog上,我在右側導航欄中顯示了頁面點擊量方面的10個最熱門文章。以下是我得到那個:在MySQL中每天計算頁面點擊次數的最佳方法是什麼
SELECT *
FROM entries
WHERE is_published = 1
ORDER BY hits DESC, created DESC
LIMIT 10
我想要做的是顯示頁面的排名前10位命中每天。我正在使用MySQL。有沒有辦法在數據庫中做到這一點?
順便說一句,該created
字段是日期時間。
更新:我想我還沒有明確表態。我想要的是,在1,000天前發佈的具有10,000次點擊次數的博客帖子與1天前發佈的具有10次點擊次數的博客帖子具有相同的流行度。在僞代碼:
ORDER BY hits/days since posting
...其中hits
僅僅是在每個博客文章被視爲一次增加一個int。
好吧,這裏我會使用什麼:
SELECT *, AVG(
hits/DATEDIFF(NOW(), created)
) AS avg_hits
FROM entries
WHERE is_published = 1
GROUP BY id
ORDER BY avg_hits DESC, hits DESC, created DESC
LIMIT 10
謝謝,史蒂芬! (我喜歡這個網站...)
這是正確的想法,但我不想要命令由avg_hits? – 2008-11-02 00:24:04
是的,我在過去的5分鐘裏有5個答案,我似乎一直在忘記東西...... – 2008-11-02 00:25:40