Dans le soucis d'être plus clair. Mon problème est valable pour toute fonction d'aggrégat. Donc pour que ce soit plus facile à tester et comprendre :
CREATE TABLE #Tmp (Nom varchar(10), Somme int)
INSERT INTO #Tmp
SELECT 'A', 1
UNION SELECT 'A', 5
UNION SELECT 'A', 4
UNION SELECT 'A', 0
UNION SELECT 'A', 1
La valeur de rupture de l'aggrégat est 0. Le résultat que j'attend est équivalent à :
CREATE TABLE #Tmp2 (Nom varchar(10), Grp int, Somme int)
INSERT INTO #Tmp2
SELECT 'A', 1, 1
UNION SELECT 'A', 1, 5
UNION SELECT 'A', 1, 4
UNION SELECT 'A', 2, 0
UNION SELECT 'A', 2, 1
SELECT Nom, SUM(Somme) FROM #Tmp2 group by Nom, Grp
Mais bien sûre sans la présence de la colonne Grp
Cordialement
Yann