Home > Database > Mysql Tutorial > How to Limit Rows Returned by a SQL Query in SQL Server?

How to Limit Rows Returned by a SQL Query in SQL Server?

Linda Hamilton
Release: 2025-01-14 08:55:46
Original
806 people have browsed it

How to Limit Rows Returned by a SQL Query in SQL Server?

LIMIT Clause in SQL Server: Implementation and Alternatives

Many developers are accustomed to using the LIMIT clause commonly used in MySQL and other database management systems to limit the number of rows returned by a SQL query. However, SQL Server does not natively support the LIMIT clause. This article explores alternative ways to achieve the same functionality in SQL Server.

Method 1: ROW_NUMBER() function for SQL Server 2005 and above versions

For SQL Server 2005 and above, you can use the ROW_NUMBER() function to simulate the LIMIT clause. The following example demonstrates this approach:

USE AdventureWorks;
GO
WITH OrderedOrders AS
(
    SELECT SalesOrderID, OrderDate,
    ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
    FROM Sales.SalesOrderHeader 
) 
SELECT * 
FROM OrderedOrders 
WHERE RowNumber BETWEEN 10 AND 20;
Copy after login

This query returns rows with a SalesOrderID between 10 and 20, effectively limiting the result set.

Method 2: Nested query for SQL Server 2000 and below

For SQL Server 2000 and below, you can use the nested query method:

SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) ORDER BY Id DESC
Copy after login

This query retrieves the first 10 rows from an inner subquery that returns the first 20 rows sorted by Id. By reversing the sort order in the outer subquery, the final result is the top 10 rows in ascending order by Id.

The above is the detailed content of How to Limit Rows Returned by a SQL Query in SQL Server?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template