我正在尝试将在线高分表添加到基本的iOS应用中。我不希望它与GameCenter相关联,因此我想将高分存储在自己的数据库中。当用户首次打开应用程序时,系统会提示他们输入自己的昵称,高分将保存在该昵称下。从理论上讲,高分数据库将如下所示:
userid name highscore
1 james123 201
2 xXsamXx 98
userid
是自动递增的,name
是他们选择的昵称,highscore
是他们获得的最高分数,每次他们打破所说分数时都会被覆盖。
要在游戏中返回用户的全球排名,我可以通过高分ORDER
数据库并返回他们的位置。
这带来了两个我要解决的问题-我不想在任何人获得高分的情况下对整个数据库进行重新排序,而且我也不知道如何返回相同的排名得分相同的两个用户(作为一个列,即用户,最终将排在另一列之前)。我该如何解决这两个问题?
谢谢!
答案 0 :(得分:1)
不用担心对表进行“重新排序”-ORDER BY
仅对查询的结果进行重新排序,而不是对表本身进行重新排序。
如果您还想返回排名,则需要在表中添加一个rank
字段,因为无论如何您都必须为两个相同的分数使用两个单独的行。您可以在更新highscore
字段后立即填充此字段。