Я создаю запрос с предложением GROUP BY
, для которого требуется возможность подсчитывать записи, основанные только на определенном условии (например, подсчитывать только записи, где определенное значение столбца равно 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
Строка COUNTIF()
явно не работает, поскольку нет встроенной функции SQL с именем COUNTIF
, но идея здесь в том, чтобы определить процент всех строк, имеющих значение '1' для MyColumn.
Есть мысли о том, как правильно реализовать это в среде MS SQL 2005?