블로그 이미지
bedbmsguru

Notice

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  • 28,005total
  • 6today
  • 6yesterday
2010.11.03 00:15 SQL SERVER
1. ROW_NUMBER()
SELECT rank() OVER(ORDER BY 칼럼) FROM 테이블
순차적으로 증가되는 값 각 row마다 unique 한 값을 가진다.

2. RANK(), DENSE_RANK()
SELECT rank() OVER([옵션] ORDER BY 칼럼) FROM 테이블
옵션에 partition by를 추가하면 칼럼별로 그룹핑된 순위를 보여준다.
rank()와 dense_rank()의 차이
1  1
2  2
2  2
2  2
5  3
6  4
7  5
.  .
.  .
.  .

3. NTILE()
사용법:NTILE (integer_expression)    OVER ( [ <partition_by_clause> ] < order_by_clause > )

Ex) select col1 ntile(100) OVER ( ORDER BY col3) as myresult FROM T1
myresult 칼럼을 통해 100(integer_expression ) 으로 나눴을때 어느정도에 위치하는지 볼수 있음 (설명하기 어렵다.-_-a)

저작자 표시
신고

'SQL SERVER' 카테고리의 다른 글

좋은 stored procedure 작성법  (0) 2010.11.03
SQL SERVER 트리거  (0) 2010.11.03
SQL 실행계획이 다시 컴파일 되는 경우  (0) 2010.11.03
SQL2005 랭킹 함수  (0) 2010.11.03
Drived Table과 CTE(Common Table Express)비교  (0) 2010.11.03
SQL SERVER TIP  (0) 2010.11.03
posted by bedbmsguru

티스토리 툴바