Obtention de la fonctionnalité LIMIT dans SQL Server
SQL Server propose plusieurs façons de limiter le nombre de lignes renvoyées par une requête, reflétant la clause LIMIT
de MySQL.
SQL Server 2005 et versions ultérieures
À partir de SQL Server 2005, la fonction ROW_NUMBER()
dans une expression de table commune (CTE) fournit une solution propre. Voici une illustration :
<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>
Anciennes versions de SQL Server (2000 et antérieures)
Pour les versions antérieures à SQL Server 2005, une approche combinée utilisant TOP
et ORDER BY
est nécessaire :
<code class="language-sql">SELECT TOP 10 * FROM (SELECT TOP 20 * FROM YourTable ORDER BY Id) AS Subquery ORDER BY Id DESC;</code>
Cette technique récupère d'abord les 20 premières lignes, puis sélectionne les 10 premières de ce sous-ensemble, obtenant ainsi une limitation basée sur la plage. Notez que le ORDER BY
imbriqué est crucial pour des résultats corrects. Remplacez YourTable
et Id
par votre tableau et votre colonne de commande actuels.
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!