Pagination in Sql Server 2005
Method 1:
Method2:
- DECLARE @rowsPerPage int,
- @pageNum int,
- @startRow int,
- @endRow int
- SET @rowsPerPage = 10
- SET @pageNum = 3
- SET @startRow = ((@pageNum- 1) * @rowsPerPage)+1
- SET @endRow = @startRow + @rowsPerPage -1
- SELECT * FROM (
- SELECT row_number() OVER (ORDER BY id) as resultNum,
- id FROM myTable
- ) as numberResults
- WHERE resultNum BETWEEN @startRow AND @endRow
Method2:
- SET @rowsPerPage = 10
- SET @pageNum = 3
- With SQLPaging
- As
- (
- Select Top(@rowsPerPage * @pageNum) ROW_NUMBER() OVER (ORDER BY id) as resultNum, id
- FROM myTable
- )
- select * from SQLPaging where resultNum > ((@pageNum - 1) * @rowsPerPage)
Comments