Maison > base de données > tutoriel mysql > Comment implémenter l'équivalent d'une clause LIMIT dans SQL Server ?

Comment implémenter l'équivalent d'une clause LIMIT dans SQL Server ?

Barbara Streisand
Libérer: 2025-01-14 09:29:48
original
114 Les gens l'ont consulté

How to Implement the Equivalent of a LIMIT Clause in SQL Server?

Implémenter la fonction équivalente de la clause LIMIT dans SQL Server

De nombreuses bases de données SQL prennent en charge la clause LIMIT pour limiter le nombre de lignes renvoyées dans le jeu de résultats. Bien que MySQL prenne directement en charge LIMIT, SQL Server n'a pas de clause équivalente. Cependant, SQL Server propose plusieurs façons d'obtenir la même fonctionnalité.

Méthode 1 : utilisez ROW_NUMBER() et BETWEEN

Pour SQL Server 2005 et versions ultérieures, vous pouvez utiliser la fonction ROW_NUMBER() pour attribuer un numéro de ligne à chaque enregistrement de l'ensemble de résultats. Ensuite, utilisez l'opérateur BETWEEN pour filtrer l'ensemble de résultats en fonction des numéros de ligne.

<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

Méthode 2 : Utiliser TOP et une requête externe

Pour SQL Server 2000 et versions antérieures, vous pouvez utiliser des requêtes imbriquées, combinant les clauses TOP et ORDER BY. La requête externe sélectionne un nombre spécifié de lignes dans la requête interne.

<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

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