Hier ist der Code, den ich geschrieben habe, ein Szenario zu erstellen:SQL-Select-Counter by Gruppe
USE tempdb
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.Emp') AND type in (N'U'))
DROP TABLE Emp
GO
CREATE TABLE Emp(
EmpID Int Identity(10,1) Primary Key,
EmpGroupID Int)
GO
INSERT INTO Emp(EmpGroupID) VALUES(1000)
INSERT INTO Emp(EmpGroupID) VALUES(1000)
INSERT INTO Emp(EmpGroupID) VALUES(1000)
INSERT INTO Emp(EmpGroupID) VALUES(2000)
INSERT INTO Emp(EmpGroupID) VALUES(2000)
INSERT INTO Emp(EmpGroupID) VALUES(2000)
INSERT INTO Emp(EmpGroupID) VALUES(3000)
GO
SELECT * FROM Emp
ORDER BY EmpGroupID,EmpID
Was ich brauche für jede Gruppe ist eine Zählervariable haben, um 1 erhöht wird, so dass alle Zeilen für Gruppe 1000 haben Zähler = 1, Groupid = 2000 hat Zähler = 2, Groupid = 3000 hat Zähler = 3.
SELECT ?,EmpID,EmpGroupID
FROM Emp
ORDER BY EmpGroupID,EmpID
-- The result I'm looking for is:
1,10,1000
1,11,1000
1,12,1000
2,13,2000
2,14,2000
2,15,2000
3,16,3000
Fügen Sie einen aussagekräftigeren Titel hinzu und klären Sie Ihre Frage. Was funktioniert nicht wie erwartet? –
Ja, genau was versuchst du zu tun? – Malfist
Die Änderungen haben wirklich geholfen. Vielen Dank. –