2010-12-20 6 views
0

人気アルゴリズムを作成するためのSQL関数を作成しようとしています。ネストして人気度アルゴリズムを選択する

投稿の「post_id」と「comments」のコメント数、投稿の「post_id」を含む「votes」表の投票数に「posts」を追加したい投稿は、「投稿」テーブル(タイムスタンプ)に「日付」でソートされています。

私はこのマルチテーブルの並べ替えを行う方法についてはわかりません。私はいくつかの手引きに手を差し伸べています!

ありがとうございます。

+0

touch click - 音が複雑で、テーブルスキーマも含めてください。 – ajreal

+0

申し訳ありませんが、どういう意味ですか? – willium

答えて

0

私がテストしていませんが、それは動作することがあります。

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`) 
+0

hm。正しい効果がないようです。私は投稿をコメントし、その投稿の投票でSORTします。 – willium

+0

あなたは正しい方向に私を導いてくれるので、それを正しくマークします。 – willium

0

私はちょうど「投票」をもとに行くことにしましたカウント。

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 

これは十分な例であるためです。私が探していたものの

関連する問題