Maison > base de données > tutoriel mysql > Comment limiter les lignes renvoyées par une requête SQL dans SQL Server ?

Comment limiter les lignes renvoyées par une requête SQL dans SQL Server ?

Linda Hamilton
Libérer: 2025-01-14 08:55:46
original
708 Les gens l'ont consulté

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

Clause LIMIT dans SQL Server : implémentation et alternatives

De nombreux développeurs sont habitués à utiliser la clause LIMIT couramment utilisée dans MySQL et d'autres systèmes de gestion de bases de données pour limiter le nombre de lignes renvoyées par une requête SQL. Cependant, SQL Server ne prend pas en charge nativement la clause LIMIT. Cet article explore d'autres moyens d'obtenir les mêmes fonctionnalités dans SQL Server.

Méthode 1 : fonction ROW_NUMBER() pour SQL Server 2005 et versions supérieures

Pour SQL Server 2005 et supérieur, vous pouvez utiliser la fonction ROW_NUMBER() pour simuler la clause LIMIT. L'exemple suivant illustre cette approche :

<code class="language-sql">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;</code>
Copier après la connexion

Cette requête renvoie des lignes avec un SalesOrderID compris entre 10 et 20, limitant ainsi l'ensemble de résultats.

Méthode 2 : requête imbriquée pour SQL Server 2000 et versions antérieures

Pour SQL Server 2000 et versions antérieures, vous pouvez utiliser la méthode de requête imbriquée :

<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM Table ORDER BY Id) ORDER BY Id DESC</code>
Copier après la connexion

Cette requête récupère les 10 premières lignes d'une sous-requête interne qui renvoie les 20 premières lignes triées par Id. En inversant l'ordre de tri dans la sous-requête externe, le résultat final correspond aux 10 premières lignes par ordre croissant par identifiant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal