Maison >base de données >tutoriel mysql >Comment implémenter la fonctionnalité LIMIT dans 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!