我正在使用Mysql5.x,为具有名为fld_experience
的整数字段的用户提供数据库表。顾名思义,它保留了用户的体验,我想在整个列表中获得用户的顺序(排名),因此我将能够在整个表格中显示用户的排名。由于其他用户'经验可能随时改变,我不能将等级存储为字段,必须按需计算。
这是sql语句我得到用户的命令
SELECT COUNT( fld_experience ) + 1
FROM tbl_users
WHERE fld_experience > ( SELECT fld_experience
FROM tbl_users
WHERE fld_user_id = ?)
我想加快这个要求,我该怎么做?
我真的很想知道索引fld_experience
是否有效。
答案 0 :(得分:0)
SELECT COUNT( fld_experience ) + 1
FROM tbl_users, ( SELECT fld_experience
FROM tbl_users
WHERE fld_user_id = ?) selected_user
WHERE fld_experience > selected_user.fld_experience