我正在试图弄清楚如何自己做这件事,但对我来说这看起来像死路一条。
我在wordpress框架和一些自定义表格下工作。
我想要达到的结果非常简单,但现在实现目标的方式太多了。
我需要从tableOne中选择前50个结果,这是基于在tableTwo中提到的tableOne的id在一些简单的where条件下的次数。
使用$wpdb
类进行最新的WordPress构建,我可以使用什么来实现这一目标?
感谢
这是获取所有帖子的简单tableOne查询:
$allPosts = $wpdb->get_results("SELECT * FROM pokeGrid_images WHERE status='0' ORDER BY tempo DESC LIMIT ".$limit." OFFSET ".$offset."");
现在我需要这个表的前50个结果,基于第二个表中提到这个结构的id的次数:http://prntscr.com/byz2qw
编辑:
注意:基本上这是一个论坛,表一有帖子,表2有upvotes。
该表达式必须收集过去X天最受欢迎的帖子。
如果是1个帖子,则表达式为Select Count(*) FROM tableTwo Where tempo > then ".$variableWithUnixTimeDIff."
列速度是now()
时间戳。
由于
答案 0 :(得分:0)
注意:基本上这是一个论坛,表一有帖子,表2有 upvotes。表达式必须收集最受欢迎的帖子 最后X天。如果是1后,表达式将是Select Count(*) FROM tableTwo where where tempo>那么"。$ variableWithUnixTimeDIff。"
SELECT *, Sum(score) AS totalScore FROM tableTwo INNER JOIN tableOne ON tableTwo.memeID = tableOne.id GROUP BY memeID ORDER BY totalScore DESC;
尝试此查询。
//编辑 - 我刚用自己的数据创建了一个示例表。我只创建了tableTwo,这个查询确实有效:
SELECT *, Sum(score) AS totalScore FROM tableTwo GROUP BY memeID ORDER BY totalScore DESC
那么之后,只需来自tableOne的内连接数据,它就可以了!