获取另一列中查询中每行的位置

时间:2011-09-04 01:57:55

标签: mysql sql sqlite

我有一个包含两列的表格:

[ID,得分]

我想检索以下结果

[职位,身份,分数]

例如

id    score
1      7
2      3
3      19

我想要检索

pos    id    score
1      3      19
2      1      7
3      2      3

我该怎么办?提前致谢

2 个答案:

答案 0 :(得分:2)

您的查询可能如下所示:

select @rownum:=@rownum+1 ‘pos’, t.id, t.score from the_table t, (SELECT @rownum:=0) r order by score desc limit 10;

编辑
<{1}}完全是可选的

答案 1 :(得分:0)

set @pos=0;
select @pos:=@pos+1 as 'pos',id,score
from exampletb 
order by score desc;

要获得使用@pos:=@pos+1所需的位置,它将按行增加递增,并返回所选行的位置。

order by score desc获取最高元素。

以上查询的结果为您想要的内容

pos    id    score
1      3      19
2      1      7
3      2      3