Я провел довольно много времени сегодня, пробуя разные вещи, но ни одна из них, похоже, не работает. Вот моя ситуация, я хотел бы иметь возможность выбрать ранг строки на основе его идентификатора из специально отсортированной строки
Например, если мой запрос выглядит примерно так:
SELECT id, name FROM people ORDER BY name ASC
с результатами как:
id name
3 Andrew
1 Bob
5 Joe
4 John
2 Steve
Я бы хотел получить ранг (какой строки он заканчивается в результатах), не возвращая все строки и не зацикливая их, пока не доберусь до той, которую хочу (в PHP).
Например, я бы хотел выбрать «rank» для «Steve», чтобы он возвращал - в данном случае - 5 (не его идентификатор, а «rank» его имени в приведенном выше запросе) .
Точно так же я хотел бы иметь возможность выбрать ранг любой строки с идентификатором 1. Для этого примера я хотел бы вернуть «ранг» 2 (потому что это в том, что в строке результата есть ID 1) и ничего больше.
У меня было бы столько, сколько я мог бы иметь Google, с разными результатами ... либо с очень медленными запросами для больших таблиц, либо с необходимостью создавать всевозможные временные таблицы и пользовательские переменные (первое, чего я ДЕЙСТВИТЕЛЬНО хотел бы избежать , последний, я думаю, я могу жить с).
Любая помощь или понимание будет принята с благодарностью.