Maison >base de données >tutoriel mysql >Comment implémenter la fonctionnalité LIMIT dans SQL Server ?

Comment implémenter la fonctionnalité LIMIT dans SQL Server ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-14 07:08:42537parcourir

How to Implement LIMIT Functionality in SQL Server?

Restriction des ensembles de résultats dans les requêtes SQL Server

SQL Server propose plusieurs méthodes pour limiter le nombre de lignes renvoyées par une requête, reflétant la fonctionnalité de la clause LIMIT dans MySQL. Examinons ces techniques :

SQL Server 2005 et versions ultérieures :

La fonction ROW_NUMBER() offre une solution élégante pour les versions 2005 et suivantes :

<code class="language-sql">USE AdventureWorks;
GO
WITH NumberedOrders AS (
    SELECT SalesOrderID, OrderDate,
           ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNum
    FROM Sales.SalesOrderHeader
)
SELECT *
FROM NumberedOrders
WHERE RowNum BETWEEN 10 AND 20;</code>

Cela attribue un numéro de ligne unique à chaque ligne, permettant la sélection d'une plage de lignes spécifique.

SQL Server 2000 et versions antérieures :

Pour les anciennes versions (2000 et inférieures), une requête imbriquée avec la clause TOP est nécessaire :

<code class="language-sql">SELECT TOP 10 * 
FROM (SELECT TOP 20 * FROM Table ORDER BY Id) AS LimitedSet
ORDER BY Id DESC;</code>

Cette requête imbriquée récupère d'abord les 20 premières lignes, classées par Id, puis la requête externe sélectionne les 10 premières de ce sous-ensemble, obtenant ainsi la limitation de lignes souhaitée.

En employant ROW_NUMBER() (pour les versions plus récentes) ou la clause TOP avec des requêtes imbriquées (pour les anciennes versions), vous pouvez gérer efficacement le nombre de lignes renvoyées dans vos requêtes SQL Server, en imitant le comportement du LIMIT clause.

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!

Déclaration:
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