Utiliser COUNT(*) avec DISTINCT
Source : Stack Overflow [sql-server]
Comptez tous les noms de programmes DISTINCT par type de programme et numéro de push
SELECT program_type AS [Type],
Count(DISTINCT program_name) AS [Count],
FROM cm_production
WHERE push_number = @push_number
GROUP BY program_type
DISTINCT COUNT(*) renverra une ligne pour chaque comptage unique. Ce que vous voulez est COUNT(DISTINCT <expression>) : évalue l’expression pour chaque ligne d’un groupe et renvoie le nombre de valeurs uniques non nulles.