Je construis une requête avec un GROUP BY
qui doit pouvoir compter les enregistrements en fonction d'une certaine condition (par exemple, compter uniquement les enregistrements pour lesquels une certaine valeur de colonne est égale à 1).
SELECT UID,
COUNT(UID) AS TotalRecords,
SUM(ContractDollars) AS ContractDollars,
(COUNTIF(MyColumn, 1) / COUNT(UID) * 100) -- Get the average of all records that are 1
FROM dbo.AD_CurrentView
GROUP BY UID
HAVING SUM(ContractDollars) >= 500000
El COUNTIF()
échoue évidemment puisqu'il n'y a pas de fonction SQL native appelée COUNTIF
mais l'idée ici est de déterminer le pourcentage de toutes les lignes qui ont la valeur '1' pour MaColonne.
Avez-vous des idées sur la manière de mettre en œuvre correctement ce système dans un environnement MS SQL 2005 ?