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')
;
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 A 4
1 B 1
2 C 1
2 C 2
需要輸出
ID STATUS RN
1 A 1
1 A 2
1 A 3
1 B 1
1 A 1
2 C 1
2 C 2
我想這樣的..以上的結果讓我的查詢,其中,輸出我想是我已經發布去年 – mohan111
這看起來你假設表中的行保持它們插入的順序並將按照該順序返回,沒有這樣的保證。除非您明確命令行,例如使用表中的標識列和查詢中的ORDER BY'子句,可以按任意順序返回行。 – HABO