gpt4 book ai didi

php - MySQL 在给定时间段内找到前 x%

转载 作者:行者123 更新时间:2023-11-29 08:37:54 27 4
gpt4 key购买 nike

我担心这会很快变得相当复杂,但我想知道显示按“受欢迎程度”排序的最新“事件”的最佳方法是什么 - 这是“喜欢”或“观点”的衡量标准(甚至可能两者都有,如果可能的话 - 将喜欢计算为 2x View ?)。

因此,如果我有一个数据库,其中包含有查看和/或喜欢的帖子,我希望能够显示过去 24 小时内最受欢迎的前 5% 帖子。

我有 3 个表,一个用于帖子,两个用于喜欢和查看(1 行 = 1 个喜欢/查看)

表 1 = “帖子”

id | title | timestamp | etc.

表 2 = "posts_likes"
post_id | user_id

表 3 =“posts_views”
post_id | user_id

使用 MySQL + PHP,运行此查询以按其整体计算的受欢迎程度对我的帖子进行排序的最佳方式是什么?

非常感谢,蒂姆

最佳答案

我会给你一些伪 sql 来展示我会使用的想法,你可以添加缺失的位并让它工作。
它假设前 5% 是基于帖子的数量,但如果它是基于喜欢加浏览量的分数,那么调整应该是微不足道的。

SET @foo=0.05 * select count(*) from posts where (timestamp < today - 24 hours); 
PREPARE STMT FROM 'SELECT posts,sum(likes) * 2 + sum(views) as POPULAR FROM (tables joined) ORDER BY popular LIMIT ?';
EXECUTE STMT USING @foo;

问候,

关于php - MySQL 在给定时间段内找到前 x%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com