sql >> Databáze >  >> RDS >> Sqlserver

LINQ to SQL každý N-tý řádek z tabulky

Někdy je TSQL správnou cestou. Použil bych ExecuteQuery<T> zde:

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

Můžete také vyměnit 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. Měsíce mezi dvěma daty

  2. Databázový koutek:Průvodce pro začátečníky k úložišti Mysql

  3. Řetězec oddělený čárkou --> FUNKCE db.CHARINDEX neexistuje

  4. Na obranu sar (a jak jej nakonfigurovat)