sql >> データベース >  >> RDS >> Sqlserver

テーブルからN行ごとにLINQからSQLへ

    場合によっては、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. PostgresPlus AdvancedServer9.3Betaの新しいOracle互換機能

    2. OVER関数とPARTITIONBY関数を使用したデータのグループ化

    3. SQLServerで現在使用されている言語を取得する

    4. 再配置されたライブラリを見つけることができるvirtualenv(MySQLdbのmysqlclient libなど)