Как сделать постраничный вывод из MSSQL?

С помощью функции LIMIT? к большому сожалению, в MSSQL данной функции, в отличии от MySQL, нет.

Есть выход...

используя вложенный запрос, можно с такой же легкостью, как и в MySQL, забирать из базы данных нужные записи.

как я делал подобную выборку из таблицы с новостями:


$skolko=100; //====определяем, сколько показывать на одной странице
//===далее считаем, сколько всего записей в базе
$r=mssql_query("SELECT COUNT(*) FROM News");
$r=mssql_fetch_array($r);
$count=$r[0];

//===в строке указываем страницу, которая нам нужна
if(empty($_GET["page"])){
$n=0;
}else{
$n=$_GET["page"]-1;
}

$x=$count-$n*$skolko;

$r=@mssql_query("SELECT TOP $skolko id,title,newsdate,text FROM(SELECT TOP $x id,title,newsdate,text FROM News ORDER BY id) AS tab1 ORDER BY id DESC");

//===== далее просто обрабатываю $r через цикл и вывожу на экран.