2011-09-04 10 views
1

私は2列のテーブル:別の列にクエリ内の各列の位置を取得

[ID、スコア]

及びIは、以下の結果を

[位置を取得します私はを取得したい

id score 
1  7 
2  3 
3  19 

ため例えば、ID、スコア]

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

どうすればいいですか?事前に感謝

答えて

2

はあなたのクエリは次のようなものになります:編集

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

limitは、あなたが@pos:[email protected]+1を使用する必要がある位置を取得するために

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

方法によって完全に任意です行ごとに増加し、選択された行の位置が返されます。

およびorder by score desc先頭に最大の要素を取得する。

、あなたが

pos id score 
1  3  19 
2  1  7 
3  2  3 
を望んでいたものを、上記のようにクエリの結果
関連する問題