DECLARE @Table1 TABLE
(ID int, STATUS varchar(1))
;
INSERT INTO @Table1
(ID, STATUS)
VALUES
(1, 'A'),
(1, 'A'),
(1, 'A'),
(1, 'B'),
(1, 'A'),
(2, 'C'),
(2, 'C')
;
스크립트 :VARCHAR 컬럼에 파티션 작업을 수행하는 방법에
Select *,ROW_NUMBER()OVER(PARTITION BY STATUS ORDER BY (SELECT NULL))RN from @Table1
이 결과는
ID STATUS RN
1 A 1
1 A 2
1 A 3
1 B 1
1 A 1
2 C 1
2 C 2
출력을 필요
ID STATUS RN
1 A 1
1 A 2
1 A 3
1 A 4
1 B 1
2 C 1
2 C 2
설정하기
난 결과 위에 내 쿼리에 대한지고 .. 그런 식으로 원하는 출력 내가 마지막으로 게시 한 내가 원하는 것은 – mohan111
그것을 테이블의 행이 삽입 된 순서대로 유지되고 그 순서대로 반환 될 것이라고 가정하는 것처럼 보입니다. 그러한 보장은 없습니다. 명시 적으로 행을 정렬하지 않으면 (예 : 테이블에 ID 컬럼이 있고 질의에'ORDER BY' 절이 있으면 어떤 순서로든 행을 다시 얻을 수 있습니다. – HABO