次のMySQLテーブルを使用します。
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
で並べ替えたときに、テーブル内の他の行の中から1つの行とその位置を選択するにはどうすればよいですかname ASC
。したがって、テーブルデータが次のようになっている場合、名前で並べ替えると次のようになります。
+-----------------------------+
+ id | name +
+-----------------------------+
+ 5 | Alpha +
+ 7 | Beta +
+ 3 | Delta +
+ ..... +
+ 1 | Zed +
+-----------------------------+
そのBeta
行の現在の位置を取得する行を選択するにはどうすればよいですか?私が探している結果セットは次のようになります。
+-----------------------------+
+ id | position | name +
+-----------------------------+
+ 7 | 2 | Beta +
+-----------------------------+
SELECT * FROM tbl ORDER BY name ASC
PHPで単純に行を列挙することはできますが、1行だけで大きな結果セットをロードするのは無駄に思えます。