sql >> Databasteknik >  >> RDS >> Sqlserver

LINQ till SQL var n:e rad från tabell

Ibland är TSQL rätt väg att gå. Jag skulle använda ExecuteQuery<T> här:

    var data = db.ExecuteQuery<SomeObjectType>(@"
SELECT * FROM 
(SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS [__row]
FROM [YourTable]) x WHERE (x.__row % 25) = 1");

Du kan också byta ut n :

    var data = db.ExecuteQuery<SomeObjectType>(@"
DECLARE @n int = 2
SELECT * FROM 
(SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS [__row]
FROM [YourTable]) x WHERE (x.__row % @n) = 1", n);


  1. Skillnaden mellan lokala och globala tillfälliga tabeller i SQL Server

  2. SQL-Nycklar

  3. Varför använda INCLUDE-satsen när du skapar ett index?

  4. Entity framework mycket långsam att ladda för första gången efter varje kompilering