Порядковый номер записи в выборке

Cron

Новичок
Порядковый номер записи в выборке

Итак, есть выборка какого-то количества записей по какому-то признаку.

Например SELECT id ... WHERE status='Z'

Требуется узнать, какой по порядку является запись например с id=56.

Самое простое - это пройтись циклом и просто сравнить в лоб.
Но, может есть более изящный способ на уровне mysql?

Конечная практическая цель - определить, на какую страницу в постраничном выводе отправить юзера, если он хочет увидеть запись с конкретным id.
 

Фанат

oncle terrible
Команда форума
вроде бы, в mysql есть функции для подсчета строк, отвечающих условию
 

zerkms

TDD infected
Команда форума
посчитать сколько записей идут до текущей
SELECT COUNT(*) FROM `table` WHERE `id` <= 56

-~{}~ 26.12.07 20:30:

либо в самой выборке

SET @CNT := 0;
SELECT *, @CNT = @CNT + 1 FROM `table` ...
 

Cron

Новичок
Ага, спасибо. Вариант с @CNT как раз именно то.
Только пропущено двоеточее.
SET @CNT := 0;
SELECT *, @CNT := @CNT + 1 FROM `table` ...
 
Сверху