SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

Get your favorite SSC scripts directly in SSMS with the free SQL Scripts addin. Search for scripts directly from SSMS, and instantly access any saved scripts in your SSC briefcase from the favorites tab.
Download now (direct download link)

Pagination in stored procedure

By Chris Smith-266894,

You recently published a script showing how to do pagination (e.g. results 20 - 30 of 100)

It's also possible to do it quicker and more elegantly without having to resort to building the sql string dynamically (never a good thing IMHO).

You pass in 2 parameters, @PageIndex is the first record you want (so number 1 the first time, 11 the second time, 21 etc if you're looking for 10 records), and @PageSize - the number of results you want returning.

As in the example you showed, this is using the 'Orders' table in Northwind database.

(I've used SQL pagination as an interview question for developers for a number of years, another answer was to get the first @pageindex + @pagesize, then sort it in descending order, then take the top @pagesize, it's slightly less efficient than this)

Total article views: 1244 | Views in the last 30 days: 0
Related Articles


Can't find it in the properties!!


Avoid a record that has first character as number in a column

Avoid a record that has first character as number in a column


Cloud First

SQL Server 2016 is the first cloud first version of SQL Server being released as the on-premise prod...


Determine if String has numbers in datatype varchar(10)

How can I Check if the first first 5 characters are numbers?


Missing numbers in a series

Missing Numbers