DBO.T_QNA
ROW_NUM | SEQ_ID | REF_SEQ | REF_DEPTH |
1 | 12 | 12 | 0 |
2 | 23 | 12 | 1 |
3 | 11 | 11 | 0 |
SELECT
ROW_NUMBER() OVER( ORDER BY REF_SEQ DESC, REF_DEPTH ASC) AS ROW_NUM, *
FROM DBO.T_QNA
음...이쿼리를 아래와 같은 결과를 얻으려고 하는데요..
PARTITION BY 로는 안되는거 같아서 간략하게 할 수 있는 방법이 있을까요??
페이징에서 REF_SEQ 가 같은것은 한페이지 찍으려고 합니다.
ROW_NUM | SEQ_ID | REF_SEQ | REF_DEPTH |
1 | 12 | 12 | 0 |
1 | 23 | 12 | 1 |
2 | 11 | 11 | 0 |
Comment 3
-
웃어요
2014.06.19 17:31
-
돌브레인
2014.06.19 17:45
RANK(), DENSE_RANK(), NTILE(n) ...다 해봤는데
PARTITION BY REF_SEQ 를 하면 중복제거 기능으로만 사용가능 할거 같아요
-
DECLARE @DATA TABLE (SEQ_ID INT, REF_SEQ INT, REF_DEPTH INT)INSERT @DATASELECT 12, 12, 0 UNIONSELECT 23, 12, 1 UNIONSELECT 11, 11, 0SELECT DENSE_RANK() OVER(ORDER BY REF_SEQ DESC) AS [DENSE_RANK],*FROM @DATA
ROW_NUMBER()이 아닌 DENSE_RANK()로 하심 될듯..