如何每天、每周、每月或永远检索最佳投票文章


How to retrieve the best voted article, per day, per week, per month or forever?

我有一个投票系统,它实际上很简单。

vote_id、user_id、article_id

我现在需要能够每天、每周、每月、每年、永远获得最佳投票文章。

我想我可以添加一个DATETIME列,然后使用mysql函数来检索投票BETWEEN或其他内容,并使用DATE INTERVAL和其他DATE OPERATIONS。

我还认为我可以将"一年中的哪一天"、"一年的哪一周"、"今年的哪一个月"、"年份"反规范化并存储在绩效栏中,这样我就可以轻松地获得某一天或某个月的选票。

此外,我想知道我是否需要从日历的角度来做这件事,这意味着"每月"可能不是从"1到31",而是从"12到12"跨越两个月。

有什么想法/反馈吗?

如果显示数据的最小单位是一天,那么我将从DATE列和SQL查询开始,以确定每个时间间隔的投票数。

如果它在您的数据量方面表现不够好,您可以进行优化。您也可以使用不同的表结构来存储每个期间的总计,而不是添加列。然后将对插入执行计算,而不对每个选择执行计算。

关于日历月份,这取决于系统的要求。

无论你使用什么选项,一定要考虑用户和服务器不同时区的影响!