[英]nesting selects to make popularity algorithm
我正在嘗試編寫一個SQL函數來制作流行度算法。
我想用帖子的“ post_id”中“評論”中評論的數量對帖子“帖子”進行排序,並用帖子的“ post_id”添加到“投票”表中的投票數量,全部排序按“帖子”表中的“日期”(時間戳)。
我不確定如何進行這種多表排序,所以我正在尋求一些指導!
預先感謝,威爾。
我還沒有測試過,但可能會起作用:
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
因為這是一個足夠接近的例子。 我一直在尋找。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.