userpage
フィールドid
、userid
およびを持つテーブルがありますpageid
。page
フィールドid
を含むテーブルcategoryid
もあります。
でuserpage
、ユーザーをページにリンクします。これは、1 つの組み合わせに対して 1 回だけ発生します。私が今欲しいのは、次のようなものを返すことができる SQL クエリです。
Category 1 1623 | Category 2 1105 | ... | Category 5 980
------------------+------------------+-----+-----------------
Page 1 512 | Page 6 403 | ... | Page 11 280
Page 2 488 | Page 7 320 | ... | Page 12 260
... ... | ... ... | ... | ... ...
Page 5 105 | Page 10 110 | ... | Page 15 56
数字は、ページに含まれるリンクの数です。カテゴリの横の数字は合計です。これらの合計は、5 つの最良のページまたはすべてのページの合計として計算される場合がありますが、それはそれほど重要ではありません。
ページはリンク数の降順に並べる必要があります。
カテゴリは、合計リンク数の降順に並べる必要があります。
MySQL が 5 つの最良のカテゴリから 5 つの最良のページのみを返すようにするにはどうすればよいですか? 純粋なSQLを使用しても可能ですか。
注: これは私がフロントエンドで使用したい方法です。データは別の方法で返される場合があります。最も重要なことは、数字と、必要なページとカテゴリだけを取得することです。