我正在尝试对工程期刊 API 提供给我的信息进行排序。我已将以下信息提取到表格中:
ID (integer),
Journal Entry Name (Text),
Description (Text),
Page Length (integer),
Has Media (boolean)
每个“Journal Entry”只有一个与之关联的 ID。每个 ID 还具有 API 未返回但我想用于排序的其他特征。他们是:
- 类别(例如经济、数学、生物学。每个 ID 可以有多个类别)
- 布尔值(需要特殊订阅之类的东西)
我创建了以下格式的第二个表:
ID (integer),
Category (text),
Boolean1 (bool),
Boolean2 (bool),
Boolean3 (bool)
由于每个 ID 可以有多个类别,因此当发生这种情况时,会将另一行添加到此表中。这个想法是任何给定的行都只有一个 ID 和一个类别。
我想做的是:
- 能够找到排名前十的类别
- 最高日记帐分录 (ID) 计数
- 最高总页长
- “有媒体”布尔值为真的最高日记帐条目计数
- 创建一种导航方式,例如“分页”,其中每个页面显示上述前十名的第 n 个结果。
- 因此,如果我选择最高日志条目计数方法,第一页将显示计数最高的类别中所有日志条目的 ID、名称和描述。
我的计划是创建一个新表,其中数字 1 到 10 位于第一列,然后用前十个类别填充第二列。然后我可以使用类似于分页的过程,其中第 n 页仅显示原始值中具有相应类别的值。但是,我似乎无法进入前十名列表/矩阵,也不知道是否有更好的方法。
不幸的是,我不是一个 MySQL 或 PHP 编码员,只是通过大量的谷歌搜索才走到了这一步。我完全找不到任何导航方法的指南,就像我想要的那样。而且由于我不知道正确的术语,我现在只是在尝试随机谷歌搜索。
这是最好的方法吗?或者创建某种第三张表会更好吗?是否有更简单的方法可以使用我已经编写的 PHP 和 MySQL 代码来做到这一点?