Эквивалент LIMIT в T-SQL

В PHP я выполняю запрос SQL Server, где мне нужно (LIMIT). Я уже знаю, что TOP обычно используется в SQL Server вместо LIMIT (который является синтаксисом MySQL). Тем не менее, TOP не позволяет вам устанавливать «смещение», как делает LIMIT. В моем запросе мне нужно, чтобы «смещение» и «количество строк» ​​были динамическими. Пример:

LIMIT $startRow, $maxRow 

Любая мысль или предложения?

    Sql Server 2005 не имеет синтаксиса ограничений, который у вас выше, который не был добавлен до 2012 года. Вам нужно будет использовать предложение OVER и общие табличные выражения.

    Пример из SqlTeam

     WITH Members AS ( SELECT M_NAME, M_POSTS, M_LASTPOSTDATE, M_LASTHEREDATE, M_DATE, M_COUNTRY, ROW_NUMBER() OVER (ORDER BY M_POSTS DESC) AS RowNumber FROM dbo.FORUM_MEMBERS ) SELECT RowNumber, M_NAME, M_POSTS, M_LASTPOSTDATE, M_LASTHEREDATE, M_DATE, M_COUNTRY FROM Members WHERE RowNumber BETWEEN 1 AND 20 ORDER BY RowNumber ASC;