Voici le code que j'ai écrit pour créer un scénario:SQL Select compteur par groupe
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
Ce que j'ai besoin est pour chaque groupe d'avoir une variable compteur, incrémente de 1, de sorte que toutes les lignes pour le groupe 1000 ont le compteur = 1, le groupid = 2000 a le compteur = 2, le groupid = 3000 a le compteur = 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
Ajoutez un titre plus descriptif et clarifiez votre question. Qu'est-ce qui ne fonctionne pas comme prévu? –
oui, exactement qu'est-ce que vous essayez de faire? – Malfist
Les modifications ont vraiment aidé. Merci. –