Récurrence T-SQL

J'ai un set de données qui ressemble à ci-dessous

Name Time Perc Group Mode Control Cancelled A 10:52 10.10 10 0 1 0 B 09:00 10.23 10 1 1 1 C 12:02 12.01 12 0 1 1 D 10:45 12.12 12 1 7 1 E 12:54 12.56 12 1 3 0 F 01:01 13.90 13 0 11 1 G 02:45 13.23 13 1 12 1 H 09:10 13.21 13 1 1 0 

J'ai besoin d'une sortie comme ci-dessous;

 Group Perc Cancelled 10 20.33 1 12 36.69 2 13 40.34 2 

Ce que je reçois était quelque chose comme;

 Group Perc Cancelled 10 20.33 5 12 36.69 5 13 40.34 5 

Je ne sais pas comment appeler cela, j'ai quelque chose dans l'esprit de l'appeler comme CTE ?, mais je ne peux vraiment pas le comprendre.

Voici ma source;

  SELECT Group, SUM(Perc), Cancelled FROM (SELECT Group, Perc, (SELECT COUNT(*) FROM tblName WHERE Cancelled=1) AS Cancelled FROM tblName WHERE 1=1 AND Group>=10)dt GROUP BY Group, Cancelled 

De votre exemple, vous n'avez pas besoin de la requête nestede, aucune récursion, etc …

 SELECT Group, SUM(Perc) AS total_perc, SUM(cancelled) AS total_cancelled FROM tblName WHERE 1=1 AND Group >= 10 GROUP BY Group 

Si vous avez des données différentes, vous pouvez utiliser quelque chose comme …

 SUM(CASE WHEN cancelled > 0 THEN 1 ELSE 0 END) AS total_cancelled