2010-01-05 5 views
0

페이징 된 쿼리의 결과를 어떻게 구분할 수 있습니까? SQL Server 2005 페이징 방법을 사용하여 페이징 한 결과를 원합니다.페이징 된 결과에서 고유 한 SQL Server 쿼리

SELECT * FROM 
    (SELECT ROW_NUMBER() OVER (ORDER BY [dbo].[Tbl_Kartabl].[FKLoginID]) AS Row, [dbo].[Tbl_Kartabl].[FKLoginID] 
    FROM [dbo].[Tbl_Kartabl]) AS PagedResults 
WHERE Row >= 1 AND Row <= 10 

어떻게하면됩니까?

어떻게 이것을 SubSonic 2에서 구현할 수 있습니까?

답변

3

가장 안쪽의 쿼리 (from 절)에서는 select distinct을 사용하거나 group by을 사용하여 주문하기 전에 고유 한 요소 만 꺼내야합니다.

SELECT [Row], [FKLoginID] 
FROM (SELECT ROW_NUMBER() OVER (ORDER BY T.[FKLoginID]) AS Row, T.[FKLoginID] 
    FROM (SELECT DISTINCT [FKLoginID] FROM [dbo].[Tbl_Kartabl]) AS T) AS PagedResults 
    WHERE Row >= 1 AND Row <= 10