Разбиение на страницы SQL Server DISTINCT с ROW_NUMBER () не различается

Хорошо, так что в основном мой DISTINCT становится бесполезным из-за использования ROW_NUMBER () , мне нужно избежать этого, поскольку это приводит к дублированию результатов (кроме уникального числа, конечно!)

Итак, я ищу запрос это будет работать так же, но не будет иметь повторяющихся строк, потому что num уникально:

WITH t AS
(
   SELECT DISTINCT *, ROW_NUMBER() OVER (ORDER BY Date) AS num 
   FROM Original_Import 
   LEFT JOIN eqcas.dbo.BASE_PROXY_VIEW_WITHTARGET ON ADName = Targetuser
   WHERE (BaseProxy = 'agmc' OR ADName = 'agmc')
      AND (Commited IS NULL OR Commited = 0)
)
SELECT DISTINCT ID, num, ADName, Description_User, Description_Amex, Amount, Date
FROM t 
WHERE (t.BaseProxy = 'agmc' OR t.ADName = 'agmc') 
   AND num BETWEEN 0 AND 20
   AND (Commited IS NULL OR Commited = 0)
ORDER BY Date

Это, вероятно, довольно тривиально исправить, но, поскольку я не специалист по SQL Server, я не привык к этим внутренним запросам и т. д.

Обновление: да, num используется для пейджинга.

5
задан Lukas Eder 27 October 2013 в 12:03
поделиться