sql rank() over 질문 도와주세요. 1 3 5,582

by 히로스에료짱 ROW_NUMBER RANK [2012.05.29 21:47:22]


SELECT ID AS 아이디, 
   DATE AS 생성일,
   PASS AS 패스워드,    
  (SELECT rank() over(order by ID desc)FROM SAVE),
   NAME AS 이름
  FROM SAVE

---------------------------------------------------------------------------------------------------
ORA-01427:단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다.

라고 나옵니다.

아이디하나에 이름이 두개 있을시 순서를 부여하는

쿼리를 짜고 싶어요

아이디   생성날짜  순서   이름
 ABC    2012.05.29  1    고길동
        2012.05.29  2    희동이

어떻게 해야되나요?

by 느훼훼 [2012.05.30 08:54:06]
ROW_NUMBER() OVER(PARTITION BY 아이디 ORDER BY 컬럼) AS RN 

위에 쿼리를 활용해보세요. 

by 마농 [2012.05.30 08:55:52]
SELECT id   AS 아이디
     , date AS 생성일
     , pass AS 패스워드
     , RANK() OVER(PARTITION BY id ORDER BY name) AS 순서
     , name AS 이름
  FROM save
;

by 히로스에료짱 [2012.05.30 12:44:03]

정말 많은 도움이 되었습니다. 고맙습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입