当前位置:  开发笔记 > 后端 > 正文

在MySQL中计算每天页面点击次数的最佳方法是什么

如何解决《在MySQL中计算每天页面点击次数的最佳方法是什么》经验,为你挑选了1个好方法。

在我的博客上,我在右侧导航中显示了10页最受欢迎的文章.这是我如何得到的:

SELECT *
FROM entries
WHERE is_published = 1
ORDER BY hits DESC, created DESC
LIMIT 10

我想做的是在每天页面点击次数方面显示前10名.我正在使用MySQL.有没有办法可以在数据库中执行此操作?

顺便说一句,该created字段是日期时间.

更新:我想我没有说清楚.我想要的是1000天前发布的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

谢谢,斯蒂芬!(我喜欢这个网站...)



1> Stephen Walc..:

我不完全确定您可以使用您在查询中建议的表结构.我能想到的唯一方法是通过每天最高的平均点击次数获得前10名.通过这样做,您的查询变为:

SELECT *, AVG(hits / DATEDIFF(NOW(), created)) as avg_hits
FROM entries
WHERE is_published = 1
GROUP BY id
ORDER BY avg_hits DESC
LIMIT 10

此查询假定您创建的字段是DATETIME(或类似)数据类型.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有