rank관련 함수 사용하지 않고 순위 부여는 어떻게 하나요?? 0 3 2,046

by 신재경 [2008.04.07 16:29:44]


안녕하세요.. 늘 눈팅으로 좋은 정보 얻어 가다 막히는 게 있어서 질문드립니다..

A라는 테이블에... 아래와 같이 있을때..

Table A

 

이름

포로로

A

에디

B

루피

A

해리

C

크롱

A

포비

B

크로

B

디보

C

엘로

A

*첫번째 열... 음.. 오해없으시길.. 애니메이션 인물들입니당ㅎ.. ^^;;

 

위와 같은 테이블 정보를... 아래처럼

 

이름

번호

A

루피

1

A

엘로

2

A

크롱

3

A

포로로

4

B

에디

1

B

크로

2

B

포비

3

C

디보

1

C

해리

2

각 반별/ 이름순으로 번호를 부여하려고 합니다..

문제는 ranking관련함수.. RANK(), DENSE_RANK(), ROW_NUMBER() 등은

사용하지않고 SQL문으로만 하려고 하는데요.. 도움 좀 주세요...

 

by 마농 [2008.04.07 16:59:16]
-- Self Join
SELECT a.이름
, COUNT(b.이름) + 1 번호
FROM 테이블 a, 테이블 b
WHERE a.반 = b.반(+)
AND a.이름 > b.이름(+)
GROUP BY a.이름
ORDER BY 번호

by 웅 [2008.04.07 17:00:34]
--스칼라 ^^
select a.이름
, a.반
, (select count(*)
from test b
where b.이름 <= a.이름
and b.반 = a.반)
from test a
order by a.반, a.이름

by 신재경 [2008.04.07 17:09:17]
하핫!! 마농님, 웅님 감사합니다.. ((^^))
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입