대충 테이블이 이렇게 되어있다고 하고요
ID 점수
a 3
b 10
c 5
d 5
쿼리를 해서 순위값을 알고 싶거든요. 이런식으로
순위 ID 점수
1 b 10
2 c 5
2 d 5
3 a 3
이런식으로 점수 높은 순으로 소트하면서 같은 점수는 같은 순위로 하면서
순위값을 알고 싶습니다. 제가 DB 초보라서 힘드네요. 급해서 그러는데 고수님들이 Sql 문을 가르쳐 주시면 감사하겠습니다.
==============================================================
게시판의 글중 위의 순위(랭킹)을 매기는것과 동일합니다.
이런경우는 새로운 데이터가 입력된후 다시 검색을 하면 시퀀스번호과 (이전이데이터가 6개라 1~6 이 사용되었다면)
7부터 13 까지 다시 생성됩니다.
오라클 함수의 경우
select RANK() OVER(ORDER BY SUM(A.TOTAL) DESC) as 순위 ,SUM(A.TOTAL) as 총점
^^^^^^^^^^^^^^
from,,,,,
where,,,,,
와 같이 사용되어 랭킹을 부여하였지만, pgSQL에서는 OVER 함수가 지원되지 않고 있다고 알고 있습니다.
[[질문]]
점수에 대한 랭킹을 부여하고 싶습니다. 오라클함수의 rank() 함수를 pgSQL 의 대체함수는 어떤것이 있을까요?
|