2011-12-25 19 views
0

私は2つのテーブルを持っています。この例では、「コンテンツ」と「好き」と呼ぶつもりです。 「コンテンツ」には、複数のエントリが含まれています(それぞれ有名な引用やそのようなもののようです)。2つのテーブル、num行で並べ替え、結合する?

このサイトでは、同じボタンをクリックすることができます。そのため、「コンテンツ」テーブルの対応するIDを持つエントリが「好き」テーブルに挿入されます。

「コンテンツ」テーブルのコンテンツを「好き」テーブルにある好きな数で並べ替えるクエリを作成したいと考えていますか?もしそうなら、どうですか?

多くの感謝と幸せな休日(2番目の部分は、問題が未解決のままであっても適用されます)

答えて

1

はい、そのようなクエリを記述することが可能です。以下のような

SELECT count(*) as total, content.* 
FROM content, likes 
WHERE content.id = likes.id 
GROUP BY total 
ORDER BY total desc 
+0

本当に?どうやって教えてくれますか? –

+0

はい編集を見て – abcde123483

1

何か:

SELECT c.* 
    FROM Content c, Likes l 
WHERE c.Content_Id = l.Content_Id 
GROUP BY c.Content_Id 
ORDER BY COUNT(*) DESC 
1

そのようにあなたがデータベース上のビットが集中的になることができ同類の数が注文した引用符を表示するたびにクエリを実行しています。あなたは好きな数だけを記録している引用符テーブルにフィールドを追加することを検討しましたか?

その方法は、このようなクエリでは十分であろう:それは多少ではなく、かなり、冗長性を作成しています

SELECT quote FROM content ORDER BY likes DESC;

。考慮すべき代替案。

+0

私はそれが激しいかもしれないと思っていたので、今私はそれをやっている、私はそれを保持していると思います。 –

+1

@KyleJenkinsどのようにしているのかわかりませんが、もしあなたがまだそうしていないなら、あなたは 'INSERT TRIGGER'を使うべきです。 – kba

関連する問題