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