Maison >base de données >tutoriel mysql >Comment puis-je simuler la clause LIMIT de MySQL dans Microsoft SQL Server 2000 ?
Réplication de LIMIT de MySQL dans Microsoft SQL Server 2000
La clause LIMIT
de MySQL simplifie la récupération de sous-ensembles de lignes spécifiques. SQL Server 2000 ne dispose pas directement de cette fonctionnalité, ce qui nécessite des solutions de contournement. Cet article explore plusieurs méthodes pour obtenir des résultats similaires.
Une méthode utilise des instructions SELECT
imbriquées. Pour imiter LIMIT 10, 20
(décalage 10, récupérer 20), vous pouvez utiliser :
<code class="language-sql">SELECT TOP 20 * FROM ( SELECT TOP 30 * FROM mytable ORDER BY somecolumn ) z2 ORDER BY somecolumn DESC;</code>
Cela sélectionne les 30 premières lignes, puis, à partir de ce sous-ensemble, sélectionne les 20 premières.
Alternativement, si une colonne unique (par exemple, « clé ») existe, vous pouvez utiliser :
<code class="language-sql">SELECT TOP 20 * FROM tablename WHERE key NOT IN ( SELECT TOP 10 key FROM tablename ORDER BY key );</code>
Cela exclut les 10 premières lignes en fonction de la clé unique, renvoyant effectivement les 20 suivantes.
Limitations : L'approche de requête imbriquée peut être problématique pour la dernière « page » si le nombre total de lignes n'est pas un multiple de la taille de la page. La méthode de colonne unique nécessite une colonne unique appropriée. Une solution purement basée sur SQL et universellement applicable pour la réplication LIMIT
dans SQL Server 2000 n'est pas réalisable. Cependant, ces techniques offrent des alternatives pratiques.
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!