基本的に、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
プレ>