我有一个名为user_rankings的表,其中存储了每个用户的投票(voted)。我想显示用户当前的排名(本周),该排名取决于用户获得的投票数。举例说明:RANK-NR,USERNAME,已投票,1,名字1、18次2,名称1,16次(我的排名在这里),我的名字,13次在此示例中,我的排名应该是3。如果我有17票,我将是数字2。如果我上方有五个用户,我将是数字8。现在,我可以在PHP中以递增的$i轻松显示排名数字。但是我只想显示一个列表,该列表限制为十个用户(前十个列表),如果我还不在前十个列表中,则直接显示该列表。所以我只是想知道如何使用MySQL获得确切的排名数字。我假设此列表中有数百名用户,但票数不同。这是我目前的发言:SELECT`voted`FROM `users_ranking`WHERE`uid`='".$_SESSION['uid']."'ANDWEEKOFYEAR(`date`)=WEEKOFYEAR(NOW())LIMIT 1 最佳答案 我无法提供确切的代码,但我认为以下内容可以给您一些想法从中选择“ RANK-NR”,“ USERNAME”,“ VOTED”(选择“ RANK-NR”,“ USERNAME”,“ VOTED”,rank()以上(按“ voted” desc排序)作为等级 来自users_ranking哪里uid ='“。$ _ SESSION ['uid']。”'和WEEKOFYEAR(date)= WEEKOFYEAR(NOW()))为abc哪里等级我认为rank()超过(按排序)应该工作关于php - MySQL select语句-如何计算当前排名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27394516/
10-15 13:46