DISTINCT применяется после создания ROW_NUMBER ()
Поскольку ROW_NUMBER () отличается для каждой строки, каждая строка уникальна по определению. Это означает, что у вас есть несколько вариантов.
Примените Distinct в одном запросе, затем оберните другой вокруг него для ROW_NUMBER ()
* * 1010
Используйте GROUP BY вместо DISTINCT
SELECT
*
FROM
(
SELECT DISTINCT
cu.*,
ROW_NUMBER() OVER (ORDER BY id) AS row_num
FROM
<your query>
GROUP BY
cu.id,
cu.field1,
cu.field2,
etc, etc
)
AS ordered_data
WHERE
RowNum BETWEEN ( @PageIndex - 1 ) * @PageSize + 1
AND @PageIndex * @PageSize