Конечно, мой опыт в MS SQL больше, чем в MySQL, но похоже, что вы ищете способ добиться того, что ROW_NUMBER () ( msdn article ) выполняет в MS SQL 2005 В 2005 году один из способов нумерации строк результатов был реализован путем создания хранимой процедуры, возвращающей переменную таблицы (или временную таблицу). Таким образом, вы создадите временное представление таблицы, включая новый столбец для RowNum, и хранимая процедура вернет новую таблицу. Например ...
Это команды MS SQL, но я предполагаю, что MySQL похожи
CREATE TABLE @TempComments
(
RowNum smallint not null IDENTITY(1,1),
...other fields...
)
INSERT INTO @TempComments (all fields except RowNum)
SELECT * FROM comments
Пусть хранимая процедура возвращает @TempComments
в ваше приложение, и теперь у вас есть таблица комментариев с порядковым номером строки для каждой строки.
Похоже, что MySQL реализовал хранимые процедуры в версии 5.0, так что, надеюсь, это то, что вы используете.
Надеюсь, это поможет, другие не стесняются добавлять правильный синтаксис MySQL.