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')
;
Script:wie Partitionierung auf VARCHAR Spalte tun
Select *,ROW_NUMBER()OVER(PARTITION BY STATUS ORDER BY (SELECT NULL))RN from @Table1
Erste Ergbnisssatzes
ID STATUS RN
1 A 1
1 A 2
1 A 3
1 A 4
1 B 1
2 C 1
2 C 2
Need Output
ID STATUS RN
1 A 1
1 A 2
1 A 3
1 B 1
1 A 1
2 C 1
2 C 2
i so wollen .. obige Ergebnis wird für meine Anfrage gegeben wird und wo Output, was ich will, ist i zuletzt geschrieben haben – mohan111
Es Es sieht so aus, als ob Sie davon ausgehen, dass die Zeilen in der Tabelle in der Reihenfolge bleiben, in der sie eingefügt wurden und in dieser Reihenfolge zurückgegeben werden. Eine solche Garantie gibt es nicht. Wenn Sie die Zeilen nicht explizit bestellen, z. Mit einer Identitätsspalte in der Tabelle und einer ORDER BY-Klausel in Abfragen können Sie Zeilen in beliebiger Reihenfolge erhalten. – HABO