Quelle est la syntaxe équivalente de la clause MySQL "LIMIT" dans SQL Server. Je voudrais l'utiliser pour faire la pagination de mes résultats. (Veulent montrer records5 à 10)Quelle est la syntaxe équivalente de la clause mysql "LIMIT" dans SQL Server
Répondre
La chose la plus proche est TOP:
Select top 5 * from tablename
Vous pouvez obtenir une plage (rangées 5 - 10)
SELECT * FROM (
SELECT TOP n * FROM (
SELECT TOP z columns -- (z=n+skip)
FROM tablename
ORDER BY key ASC
)
)
Le plus proche de c'est SELECT TOP X
mais il est seulement équivalent à LIMIT X
.
Pour LIMIT X, Y
, il n'y a pas d'équivalent direct MS-SQL (pour autant que je sache). La solution de Christian est bonne.
MSSQL2005 (partir) a la syntaxe ROW_NUMBER qui pourrait être utile:
http://msdn.microsoft.com/en-us/library/ms186734%28SQL.90%29.aspx
Je me demande vraiment pourquoi Microsoft n'ajoute pas cette fonctionnalité dans le serveur sql? – dvdmn
suite = jusqu'à ce que le numéro désiré commence à obtenir des résultats limit = Vous voulez voir comment de nombreuses variables
SELECT TOP (limite) cve_persona FROM persona OERE (cve_persona> cont)
quelle version de SQL Server? – Antony
Voir aussi http://stackoverflow.com/questions/216673/emulate-mysql-limit-clause-in-microsoft-sql-server-2000 –
Copie possible de [Comment implémenter LIMIT avec Microsoft SQL Server?] (Http: //stackoverflow.com/questions/603724/how-to-implement-limit-with-microsoft-sql-server) – e4c5