[DB] OVER PARTITON 대체 사용

2011. 9. 1. 14:15개발관련기록/SQL Server

반응형



SELECT RANK ()
                   OVER (PARTITION BY r_id, o_code
                         ORDER BY status_cd DESC, c_stnd_ymd DESC, o_code)
                   AS  RANK,
                   r_id,  nh_time,  c_stnd_ymd,   tunit_code,  lg_code,status_cd,  o_code
              FROM Table

RANK () OVER (PARTITION BY  이 부분을 대체 할 수 있는 함수가 있나요?







답변

SELECT ROWNUM AS "RANK", B.r_id, B.nh_time, B.c_stnd_ymd, B.tunit_code, B.lg_code, B.status_cd, B.o_code 
FROM   (
SELECT A.r_id, A.nh_time, A.c_stnd_ymd, A.tunit_code, A.lg_code, A.status_cd, A.o_code
FROM   (
SELECT r_id, nh_time, c_stnd_ymd, tunit_code, lg_code, status_cd, o_code 
             FROM   Table
            ORDER  BY status_cd DESC, c_stnd_ymd DESC, o_code
) AS A
             GROUP  BY A.r_id, A.o_code
) as B
 
반응형