对于一个新版本的网站,我在主页上创建了一个“热门用户”部分。这允许人们在一堆不同的类别上为用户投票。所有这些信息都存储在 MySQL 数据库中的两个主表中。一张表包含信息(id*autogenerated*、用户名、添加日期等),另一张表包含费率(id*autogenerated*、linkID、rowAvg、avg、avg2 等)。来自linkID
费率表对应于id
来自信息表。查询的工作原理是通过 查询rate_table
,按最高平均值排序,然后选择前 10 个结果。然后使用该linkID
行的 ,我从info_table
. 只要每个用户只有 1 个费率,这就很好。当用户有 2 个或更多费率并且两个费率都是正数时会发生什么情况,查询会选择这两个并提取 2 行中每一行的信息,然后将其显示为两个不同的用户,即使它是相同的人。如何让rate_table
查询知道何时有多个相同的费率linkID
并将它们平均在一起,而不是将它们显示为两个不同的人。我正在考虑将每个linkID
插入一个数组,然后对于每个随后选择的行,检查是否linkID
已经在数组中。如果不是,则插入它,如果是,则将它们平均在一起并将其存储在数组中,并使用该数组填充主页上的表格。我觉得我在想这件事。对不起,如果这有点令人困惑。如果您需要更多信息,请告诉我。
PS我仍在学习有关MySQL查询的方法,所以如果我以完全错误的方式进行此操作,我深表歉意,并且您花了最后几分钟试图理解我在说什么:P
PPS 我知道我不应该再使用 MySQL_Query 了,应该使用准备好的语句。我想掌握 MySQL 查询,因为那是 iOS 的 FMDB 数据库使用的,然后我将继续学习准备好的语句。