エンジニアリングジャーナルのAPIから提供された情報を並べ替えようとしています。次の情報をテーブルに抽出しました。
ID (integer),
Journal Entry Name (Text),
Description (Text),
Page Length (integer),
Has Media (boolean)
各「ジャーナルエントリ」には、IDが1つだけ関連付けられています。各IDには、APIからは返されないが、並べ替えに使用したい他の特性もあります。彼らです:
- カテゴリ(Econ、Math、Biologyなど。各IDには複数のカテゴリを含めることができます)
- ブール値(特別なサブスクリプションが必要なものなど)
次の形式で2番目のテーブルを作成しました。
ID (integer),
Category (text),
Boolean1 (bool),
Boolean2 (bool),
Boolean3 (bool)
各IDは複数のカテゴリを持つことができるため、これが発生すると、別の行がこのテーブルに追加されます。任意の行には1つのIDと1つのカテゴリしかないという考え方です。
私がしたいのはこれです:
- それに関してはトップ10のカテゴリーを見つけることができます
- ジャーナルエントリ(ID)の最大数
- 最高の総ページ長
- 「HasMedia」ブール値が真である場合の最大のジャーナルエントリ数
- 「ページネーション」のようにナビゲートする手段を作成します。各ページには、前述のトップ10のn番目の結果が表示されます。
- したがって、ジャーナルエントリの最大カウント方法を選択した場合、最初のページには、カウントが最も高いカテゴリのすべてのジャーナルエントリのID、名前、および説明が表示されます。
私の計画では、最初の列に1から10までの数字が含まれる新しいテーブルを作成し、2番目の列に上位10個のカテゴリを入力します。次に、ページ付けと同様のプロセスを使用できます。このプロセスでは、n番目のページに、元の値の対応するカテゴリの値のみが表示されます。しかし、私はこのトップ10のリスト/マトリックスを作成することができないようです。また、それがより良い方法があるかどうかもわかりません。
残念ながら、私はMySQLまたはPHPのコーダーではありません。これまでのところ、多くのグーグルでしか得られていません。私が望むようなナビゲーション方法のガイドを完全に見つけることができませんでした。そして、私は適切な用語を知らないので、私はこの時点でランダムなグーグル検索を試みているだけです。
これはそれについて行くための最良の方法ですか?それとも、ある種の3番目のテーブルを作成する方がよいでしょうか。私がすでに書いたPHPとMySQLのコードを使用できるものでこれを行う簡単な方法はおそらくありますか?