一個MySQL表看起來是這樣的:在排序結果集中選擇的行數有效的方式(MySQL的)
Item Score
-----------
A 3.646
B 2.775
C 6.383
D 0.122
...
有上Score
列的索引。我希望按降序順序選擇項目,並且我也想知道項目的排名(即結果集中特定行的編號)。在這個例子中,期望的結果是:
Item Rank
----------
C 1
A 2
B 3
D 4
有沒有一種有效的方式來做到這一點在大表上?如果可能,我想避免子選擇。 PS:是的,結果集中的排名當然總是1,2,3 ......但不是,我不能在應用程序中推導出這些結果,因爲這些結果將在DB中進一步處理,沒有返回到應用程序。
哈哈,你打我..我正要其實寫了相同的答案 – sumit
@sumit,很多人[拍我們兩個都是這樣的](http://stackoverflow.com/questions/2520357/mysql-get-row-number-on-select):-) –
如果真的那麼簡單,會覺得很尷尬:)我想的太複雜了...我不知道在ORDER BY之後會發生添加 – travelboy