Эффективный способ получить общее количество записей на сервере SQL во время пейджинга

При запросе таблицы на сервере sql я пытаюсь получить только текущую страницу записей. Однако мне нужно общее количество записей, которые будут возвращены для конкретного запроса, чтобы вычислить количество страниц. Как сделать это эффективно, не написав еще один запрос для подсчета записей.

 WITH allentities 
         AS (SELECT Row_number() OVER (ORDER BY se.entityid ASC) AS 
                    rowid 
                    ,empid
                    ,lastname 
                    ,firstname
                     ,d.depname 

             FROM   emp e join dep d on e.depid=d.depid) 
    SELECT * 
    FROM   allentities 
    WHERE  rowid >= @pageid 
           AND rowid <= @pageid + 20 
6
задан Sundararajan S 24 October 2010 в 10:07
поделиться