0

我的 Web 界面中有一个“Top-20”系统,其中列出了 20 名玩家并按级别排序。现在我想在表格底部显示已登录的那个人,并显示他是哪个条目。我用 Photoshop 制作了它,以展示它应该是怎样的:

在此处输入图像描述

我的问题是,我怎样才能得到这个特定条目的编号?对于前 20 名,我有以下查询:

select username,spielerlevel,member,leader 
from accounts 
where adminlevel = 0 
order by spielerlevel desc 
limit 20

谢谢。

4

2 回答 2

4

他在列表中的位置的近似值如下所示:

SELECT COUNT(1)
FROM accounts
WHERE adminlevel = 0 
  AND spielerlevel<[level]

(替换[level]为相应用户的级别。)

问题在于许多用户具有相同的级别。但这也可能是您的示例查询中的问题。

于 2013-06-14T07:55:11.627 回答
0

这可以是一个解决方案:

SELECT COUNT(*)+1
FROM accounts
WHERE adminlevel = 0
AND spierlerlevel < (
    SELECT spierlerlevel 
    FROM accounts 
    WHERE username = "CURRENT USER NAME"
);
于 2013-06-14T07:56:45.313 回答