Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 嵌套选择生成流行算法_Php_Sql_Sorting_Popularity - Fatal编程技术网

Php 嵌套选择生成流行算法

Php 嵌套选择生成流行算法,php,sql,sorting,popularity,Php,Sql,Sorting,Popularity,我正在尝试编写一个sql函数来制作流行算法 我想根据“评论”中的评论数量和帖子的“post_id”对“post”进行排序,再加上“投票”表中的投票数量和帖子的“post_id”,所有这些都按照“posts”表中的“date”(时间戳)进行排序 我不知道如何进行这种多表排序,所以我想寻求一些指导 事先谢谢,威尔。我还没有测试过,但它可能会工作: SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_

我正在尝试编写一个sql函数来制作流行算法

我想根据“评论”中的评论数量和帖子的“post_id”对“post”进行排序,再加上“投票”表中的投票数量和帖子的“post_id”,所有这些都按照“posts”表中的“date”(时间戳)进行排序

我不知道如何进行这种多表排序,所以我想寻求一些指导


事先谢谢,威尔。

我还没有测试过,但它可能会工作:

SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`
此外,您还可以将其与posts表连接:

SELECT * FROM `posts` LEFT JOIN (SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`) AS `p` ON(`post_id`)

我只是根据“投票”数决定去的


因为这是一个非常接近的例子。我正在寻找的内容。

触摸单击-听起来很复杂,介意也包括您的表模式吗?抱歉,您的意思是什么?嗯。似乎效果不太好。我想对帖子进行排序,根据评论+该帖子的投票数。将其标记为正确,因为你引导我朝着正确的方向前进。
SELECT posts.id, posts.date, COUNT(votes.id) AS votePerPost FROM posts,votes WHERE posts.id = votes.post_id GROUP BY posts.id ORDER BY posts.date DESC, votePerPost ASC