I select 문에 다음 줄이 : 나는이 권리를 이해하고있는 경우TSQL 해명
cast (row_number() OVER (ORDER BY cs.OrgId) AS int) AS rowId
누군가가 확인하시기 바랍니다 수 있습니까?
Org Id로 정렬하고 순서대로 orgid 위치의 값을 보유하는 int로 새 열 rowId를 작성 하시겠습니까?
맞습니까?
I select 문에 다음 줄이 : 나는이 권리를 이해하고있는 경우TSQL 해명
cast (row_number() OVER (ORDER BY cs.OrgId) AS int) AS rowId
누군가가 확인하시기 바랍니다 수 있습니까?
Org Id로 정렬하고 순서대로 orgid 위치의 값을 보유하는 int로 새 열 rowId를 작성 하시겠습니까?
맞습니까?
아니요, 정확히 말하지 않습니다. 함수 row_number() OVER (ORDER BY [order])
은 행이 지정된 순서에 따라 정렬 된 경우 행이 차지할 위치를 나타내는 값을 반환합니다. 당신이 다른 기준에 의해 설정 최종 결과를 주문할 수 있습니다 다른 순서 (및 순위 기능)
이 뉘앙스는 몇 가지 의미 당신이 그것을
row_number()
의 결과 (또는 다른 윈도우 함수)를 사용할 수 있습니다 row_number()
기능 중 하나, 그룹 별 또는 서로 다른
cast
부분은 BIGINT
에서 INT
으로 변환됩니다.
"새 열을 만듭니다"는 창 기능을 사용하는 위치에 따라 다릅니다. 예를 들어, where
절에서 사용할 수 있습니다.이 경우 절대로 새로운 열을 만들지 않습니다.
전체 설명과 몇 가지 샘플이있는 documentation on OVER clause을 읽을 수 있습니다. ranking functions docs을 참조하십시오.
예, 전체 결과 집합을'OrgId'로 정렬하고 그 결과는 중복되지 않고 1부터 시작하는 순차 번호입니다. 'ROW_NUMBER'의 결과가'BIGINT '이므로'INT '로 캐스팅합니다. – Lamak