102 votes

Comment écrire des LINQ . Skip(1000). Prendre(100) en SQL pur ?

Quel est l’équivalent SQL de la `` méthode dans LINQ ?

Par exemple : je souhaite sélectionner les lignes 1000 à 1100 à partir d’une table de base de données spécifique.

Est-ce possible avec SQL ? Ou dois-je sélectionner la table entière, puis trouver les lignes en mémoire ? J’aimerais idéalement éviter cela, si possible, car la table peut être assez grande.

154voto

John Gietzen Points 23645

SQL Server 2012 et versions ultérieures ont ajouté cette syntaxe :

79voto

Dan Diplo Points 16133

Dans SQL Server 2005 et versions ultérieures, vous pouvez utiliser ROW_NUMBER fonction. Eg.

9voto

Essayez celui-ci :

Exemple:

4voto

Joseph Points 18099

Procédez comme suit :

Courir. Skip(1000). Prenez(100) un contexte de données LINQ to SQL et examinez la sortie SQL. Il générera pour vous une instruction SQL qui fait ce que vous décrivez.

Ce ne sera pas aussi élégant, mais cela fait le travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X