# Limit Result Set
As database tables grow, it's often useful to limit the results of queries to a fixed number or percentage. This can be achieved using SQL Server's TOP
keyword or OFFSET FETCH
clause.
# Limiting With PERCENT
This example limits SELECT
result to 15 percentage of total row count.
SELECT TOP 15 PERCENT *
FROM table_name
# Limiting With TOP
This example limits SELECT
result to 100 rows.
SELECT TOP 100 *
FROM table_name;
It is also possible to use a variable to specify the number of rows:
DECLARE @CountDesiredRows int = 100;
SELECT TOP (@CountDesiredRows) *
FROM table_name;
# Limiting with FETCH
FETCH
is generally more useful for pagination, but can be used as an alternative to TOP
:
SELECT *
FROM table_name
ORDER BY 1
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY
# Parameters
Parameter | Details |
---|---|
TOP | Limiting keyword. Use with a number. |
PERCENT | Percentage keyword. Comes after TOP and limiting number. |
# Remarks
If ORDER BY
clause is used, limiting applies to the ordered result set.