По същество всичко, което трябва да направите, за да изберете 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