人気アルゴリズムを作成するためのSQL関数を作成しようとしています。
投稿の「post_id」を含む「comments」のコメントの量で「投稿」を並べ替えたいのですが、投稿の「post_id」を含む「votes」テーブルの投票数に加えて、すべて並べ替えます「投稿」テーブルの「日付」(タイムスタンプ)。
このマルチテーブルの並べ替えの方法がわからないので、ガイダンスを求めています。
よろしくお願いします、ウィル。
人気アルゴリズムを作成するためのSQL関数を作成しようとしています。
投稿の「post_id」を含む「comments」のコメントの量で「投稿」を並べ替えたいのですが、投稿の「post_id」を含む「votes」テーブルの投票数に加えて、すべて並べ替えます「投稿」テーブルの「日付」(タイムスタンプ)。
このマルチテーブルの並べ替えの方法がわからないので、ガイダンスを求めています。
よろしくお願いします、ウィル。
私はテストしていませんが、うまくいくかもしれません:
SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`
さらに、投稿テーブルに参加することもできます。
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
十分に近い例だからです。私が探していたものの。