Как узнать конкретный номер строки в mysql 5.7

Столкнулся с проблемой, с которой ранее в версии 8.0 все получалось. Функция number row в версии 5.7 не поддерживается. Подскажите, возможно ли и как узнать номер конкретной строки? Например, вел ник, и получил ответ вы на 89 месте.


Ответы (2 шт):

Автор решения: Ordman

Используйте переменную:

SET @row_number = 0; 
SELECT 
    (@row_number:=@row_number + 1) AS num, 
    name
FROM
    foo
ORDER BY name;

пример

→ Ссылка
Автор решения: Akina

Если нужен номер только конкретной строки, a не перенумерация всех строк, то просто

SELECT COUNT(*)
FROM table
WHERE ordering_column <= 'значение в заданной строке'
-- или >=, если нужен номер при сортировке по убыванию 

При наличии индекса это намного быстрее итерации с переменной по всей таблице.

→ Ссылка