Maison > base de données > tutoriel mysql > Comment répliquer la clause LIMIT de MySQL dans SQL Server ?

Comment répliquer la clause LIMIT de MySQL dans SQL Server ?

DDD
Libérer: 2024-12-08 02:29:11
original
824 Les gens l'ont consulté

How to Replicate MySQL's LIMIT Clause in SQL Server?

L'équivalent SQL Server de la clause LIMIT de MySQL

La clause LIMIT de MySQL, qui restreint le nombre de lignes renvoyées par une requête, n'a pas d'équivalent direct dans SQL Server. Cela peut être frustrant, mais il existe plusieurs solutions de contournement disponibles.

Syntaxe OFFSET / FETCH (SQL Server 2012 et versions ultérieures)

Dans SQL Server 2012 et versions ultérieures, l'ANSI La syntaxe standard OFFSET / FETCH peut être utilisée pour la pagination. La requête suivante illustre cette syntaxe :

SELECT ID, Name, Price, Image 
FROM Products 
ORDER BY ID ASC 
OFFSET (@start_from - 1) ROWS
FETCH NEXT @items_on_page ROWS ONLY;
Copier après la connexion

Méthode ROW_NUMBER() (avant SQL Server 2012)

Avant SQL Server 2012, la méthode ROW_NUMBER() peut être utilisé pour simuler la clause LIMIT :

WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
      RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC)
      /* , other columns */
    FROM Products
)
SELECT 
    RowNum
    /* , other columns */
FROM
    o
WHERE
    RowNum >= @start_from
ORDER BY
    RowNum;
Copier après la connexion

Autre solutions de contournement

En plus des méthodes décrites ci-dessus, il existe diverses autres solutions de contournement disponibles, notamment l'utilisation de curseurs ou de tables temporaires. Cependant, ces solutions sont généralement moins efficaces et plus complexes.

Il est important de noter que Microsoft a reconnu les limites des mécanismes de pagination actuels et a exprimé son intérêt pour l'ajout de la prise en charge native de LIMIT à SQL Server dans les versions futures.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal