Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

LINQ към SQL Всеки N-ти ред от таблицата

Понякога TSQL е правилният начин. Бих използвал ExecuteQuery<T> тук:

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

Можете също да замените 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо типът DATETIME на SQL Server спестява време в тикове от 1/300 от секундата?

  2. Научете се да съхранявате и анализирате документи във файлова система на Windows със семантично търсене на SQL Server – част 1

  3. ATN2() Примери в SQL Server

  4. Как да използвате свойството IDENTITY() в SQL Server

  5. T-SQL динамична опора