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
, 그러나 여기에서 아이디어는 MyColumn의 값 '1'이 모든 행의 비율을 결정하는 것입니다.
MS SQL 2005 환경에서이를 올바르게 구현하는 방법에 대한 생각이 있습니까?
ISNULL
대신 당신이 할 수있는,CASE WHEN myColumn IS NULL
또는 사용ifnull
( stackoverflow.com/a/799406/1861346 )