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

SQL Server :一定量の行を選択する方法 (x 番目の値ごとに選択)

    基本的に、x 番目の値を選択するために必要なことは、行番号を x で割った係数が 0 であるすべての行を保持することだけです。

    WHERE rn % @x_thValues = 0
      

    ROW_NUMBER を使用できるようになりました の結果、ステートメント全体をサブセレクトにラップする必要があります

    SELECT  *
    FROM    (
                SELECT  *
                        , rn = ROW_NUMBER() OVER (ORDER BY Value)
                FROM    DummyData
            ) d
    WHERE   rn % @x_thValues = 0                    
      

    必要な x 番目の値の変数と組み合わせて、このテストスクリプトのようなものを使用できます

    DECLARE @x_thValues INTEGER = 2
    
    ;WITH DummyData AS (SELECT * FROM (VALUES (1), (2), (3), (4)) v (Value))
    SELECT  *
    FROM    (
                SELECT  *
                        , rn = ROW_NUMBER() OVER (ORDER BY Value)
                FROM    DummyData
            ) d
    WHERE   rn % @x_thValues = 0                    
      

    1. MYSQL:値のリストをテーブルに結合します

    2. SQLiteOpenHelperを使用してAndroidでsqliteデータベースをアタッチする

    3. 同じテーブルから2つのクエリを抽出します

    4. VB.NET:「MySql.Data.MySqlClient.Replication.ReplicationManager」の型初期化子が例外をスローしました