Bonjour, voici mon problème

Je voudrais avoir un compteur calculé en groupant deux colonnes mais je veux avoir le détail pour chaque ligne

Un exemple semble plus parlant:
voici ma table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
id	name	periode		num
1	test	periode 1	num 1
2	test	periode 1	num 2
3	test	periode 2	num 1
4	test	periode 2	num 3
avec la requête suivante j'obtiens le résultat qu'il me faut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
SELECT
  t.name,
  t.periode,
  t.num,
  (SELECT
     COUNT(t1.num)
   FROM test t1
   WHERE t.name = t1.name
       AND t.periode = t1.periode
   GROUP BY t.name, t.periode) AS result
FROM test t
Ma question est de savoir s'il y a moyen d'optimiser cette requête ?