私のウェブサイトにはポイントシステムがあり、さまざまなウェブサイトカテゴリ内のさまざまな成果に対してポイントが獲得されます。カテゴリには、関連するcategory_idを保持する「links_to」フィールドと「links_from」フィールドを持つ「category_relations」テーブルを使用して、サブカテゴリと親カテゴリを含めることができます。
私がやりたいのは、現在のカテゴリとそのすぐ下のカテゴリで最も多くのポイントを持つ上位5人のユーザーを取得することです。
私の「points_awarded」テーブルには、付与されたポイントのすべてのレコードと、どのカテゴリのどのユーザーに与えられたものが含まれています。
user_id、
points_amount、プラス(ポイントが追加されているかどうかに関係なく、
tinyintブール値)、マイナス(ポイントペナルティであるかどうかに関係なく、tinyintブール値)、
category_id
どこから始めたらいいのかわからない。2つのクエリが必要ですか?1つはすべてのサブカテゴリIDをフェッチし、もう1つはそれを使用して別のクエリを実行して使用されるポイントのSUM()をフェッチしますか?1つのクエリでそれを行うことは可能ですか?