Récupérer d'autres séries d'loggings dans SQL Server

Je veux get d'autres séries d'loggings en utilisant SQL Server.

Par exemple :

Je veux sauter les 10 premiers loggings (1 à 10) dans la séquence et get 10 autres loggings (11 à 20) après que je veux sauter les 10 prochains loggings (21 à 30) et get un autre 10 loggings suivants (31 à 40)

J'ai fait pour les rangées alternées comme ci-dessous …

SELECT ROW, EmployeeID FROM (SELECT ROW_NUMBER() OVER (ORDER BY EmployeeID) AS ROW, * FROM Employee) A WHERE ROW % 2 = 0 

Mais dans le cas de mon exigence ci-dessus la logique ne fonctionnera pas. S'il vous plaît, aidez-moi à faire en sorte que ça marche.

Linq sera également accepté

Merci

 SELECT ROW, EmployeeID FROM (SELECT ROW_NUMBER() OVER (ORDER BY EmployeeID) AS ROW, * FROM Employee) A WHERE ((ROW - 1)/10) % 2 = 1 

J'ai fait ci-dessus de votre condition comme ci-dessous (exemple).

Généré 1200 nombre séquentiellement de 1 à 1200 comme ci-dessous

 ;WITH CTE AS ( SELECT 1 PERIOD_SID UNION ALL SELECT PERIOD_SID+1 FROM CTE WHERE PERIOD_SID<1200 ) SELECT * INTO #PERIOD1 FROM CTE OPTION(MAXRECURSION 0) 

Après cela, j'ai find des numéros alternatifs comme vous l'avez mentionné dans votre requête

 SELECT PERIOD_SID FROM ( SELECT CASE WHEN PERIOD_SID%10 <> 0 THEN PERIOD_SID / 10 WHEN PERIOD_SID%10 = 0 THEN ( PERIOD_SID / 10 ) - 1 END RNO, PERIOD_SID FROM #PERIOD1 )A WHERE RNO%2=0 

Donc, si vous avez des numéros séquentiels dans votre requête (Si vous n'avez pas générer en utilisant rownumber), alors appliquez ci-dessus la logique.

Votre requête doit convertir comme ci-dessous.

 SELECT EMPLOYEEID FROM (SELECT Row_number() OVER ( ORDER BY EMPLOYEEID)AS ROW, * FROM EMPLOYEE) A WHERE ( CASE WHEN RNO%10 <> 0 THEN RNO / 10 WHEN RNO%10 = 0 THEN ( RNO / 10 ) - 1 END )%2 = 0 

peut-être que vous pouvez essayer cela

 SELECT ROW, EmployeeID FROM( SELECT ROW_NUMBER()OVER (ORDER BY EmployeeID)AS ROW,* FROM Employee) A WHERE ((ROW - (ROW%10))/10) % 2 = 1 

Ne pas si cela fonctionne ou pas parce que je n'ai pas de server SQL pour fonctionner. S'il vous plaît montrer l'erreur / résultat après avoir exécuté cette requête.

Demander s'il y a un doute.