10、11、7、5、17、147、555 の特定の順序で次の値が導入されたテーブルがあるとします。
たとえば、テーブルを昇順に並べた場合に 11 がどこにあるかを調べようとすると、インデックスが 4 であることがわかります。
ただし、大量のデータの場合、テーブル全体を取得してphpでソートしたくありません。これはばかげているからです。
私が知りたいのは、mysql がすべての値をクエリせずに、順序付けられたクエリで値のインデックスを返すことができるかどうかです。
ありがとうございました!
更新 #1
私が欲しかったクエリは次のようになります (bluefeet のおかげです):
SELECT rownum FROM (
SELECT col1, @rownum:=@rownum+1 AS rownum
FROM yourtable,
(SELECT @rownum:=0) table1
ORDER BY col1) table2
WHERE col1=11
ここでテストできますhttp://sqlfiddle.com/#!2/a21c8/12