MySQL でデータを処理するか、PHP や Python のようなサーバー言語でデータを処理する方が速いか疑問に思っていました。ORDER のようなネイティブ関数は、インデックス作成、キャッシュなどにより MySQL でより高速になると確信していますが、実際にはランクを計算します (複数のエントリを同じランクとして返すタイを含む)。
サンプル SQL
SELECT TORCH_ID,
distance AS thisscore,
(SELECT COUNT(distinct(distance))+1 FROM torch_info WHERE distance > thisscore) AS rank
FROM torch_info ORDER BY rank
サーバ
SELECT TORCH_ID FROM torch_info ORDER BY score DESC
...単に a を実行してから、Web サーバー上の PHP のランクを把握するのとは対照的です。