by KU_EDGE [Oracle 기초] [2015.12.16 13:52:54]
RANK() OVER 를 쓰면 1위부터 쫙 나오는데
저는 xxx 위를 시작점으로 하고 싶은데 방법이 없을까요?
xxx 위는 다른 테이블에 칼럼값으로 있습니다.
1. 스칼라서브쿼리
2. Function
3. join
ex) select a, b, rank over() r, function() f, r-1+f
from table
ex) select a, b, rank over() r, (select num from table where ?=?) f, r-1+f
-- 스칼라서브쿼리의 결과값은 단일행이 보장되어야 함.