Со следующей таблицей MySQL:
+-----------------------------+
+ id INT UNSIGNED +
+ name VARCHAR(100) +
+-----------------------------+
Как выбрать одну строку И ее положение среди других строк в таблице, если они отсортированы по 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, но загружать потенциально большой набор результатов только для одной строки представляется расточительным.