Я будую запит із 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?
ISNULL
, натомість ви можете робитиCASE WHEN myColumn IS NULL
або використовуватиifnull
( stackoverflow.com/a/799406/1861346 )