2011-07-26 4 views
3

순위 및 밀도 순위 함수 을 사용하는 구문을 알고 있지만 이에 대한 실제 용도는 찾을 수 없습니다. 예를 DENSE_RANK어떤 상황에서 Rank 및 Dense Rank가 유용할까요?

ranking  userid 
1    500 
1    500 
2    502 
2    502 

와 나는 1,1 2,2 값은 현실 세계에서 도움이 될 것입니다 방법을 이해 할 수없는

Ranking UserID 
    1 500 
    1 500 
    1 500 
    1 500 
    1 500 
    1 500 
    1 500 
    8 502 
    8 502 
    8 502 
    8 502 
    8 502 
    8 502 
    8 502 
    15 504 

순위에 대한

. 한편, 나는 을 수행한다.은 실제 세계에서 row_number over partition이 무엇을 사용하는지 명확하게 이해한다; 난 그냥 이런 종류의 정보 (밀도 & 일반 순위)로 할 수있는 것을 찾을 수

+0

marc_s : 네가 맞아. 내가 제거 할 것입니다, 그것은 2008 년에 준비된 것들을 사용하지 않고 이러한 기능을 수행 한 이후로 필자의 머리 속에있었습니다. –

+0

http://stackoverflow.com/q/6681841/27535 – gbn

답변

3

구체적인 예는 임의 반드시 도움이되지 것입니다. 당신이 그들이하는 일을 이해하고 (케빈 버튼의 링크),이 기능이 존재한다는 것을 적어도 막연하게 기억할 수 있다면, 유용 할 수있는 상황이 생기면, 데이터베이스 개발자의 트릭 가방에서 그들을 빼낼 수 있어야합니다. (RANK를 한 번 사용했거나 두 번 사용했을 때마다 유용했지만 매번 사용하지 않아도됩니다.)

+1

이것은'CUBE','ROLLUP','CONNECT BY' 등과 같은 거의 모든 OLAP 기능에 적용됩니다 ... –

+0

옙 - 그리고 변환하기에 어리석은 모호한 기능을 끌어내는 것이 대단히 기분이 좋습니다. 30 줄의 쿼리 및 하위 쿼리를 하나의 쿼리 중 6 개로 통합합니다. –

+0

예, 그 의미를 해독하거나 확장 할 수있는 유일한 사람 : –

관련 문제