열의 AVG
을 NULL
및 0 값을 무시하는 방법은 무엇입니까?Null 또는 Zero 값을 무시하는 AVG 가져 오기
내가 평균을 얻기 위해 세 개의 열을 가지고, 나는 다음과 같은 스크립트를 사용하려고 :
SELECT distinct
AVG(cast(ISNULL(a.SecurityW,0) as bigint)) as Average1
,AVG(cast(ISNULL(a.TransferW,0) as bigint)) as Average2
,AVG(cast(ISNULL(a.StaffW,0) as bigint)) as Average3
FROM Table1 a, Table2 b
WHERE a.SecurityW <> 0 AND a.SecurityW IS NOT NULL
AND a.TransferW<> 0 AND a.TransferWIS NOT NULL
AND a.StaffW<> 0 AND a.StaffWIS NOT NULL
AND MONTH(a.ActualTime) = 4
AND YEAR(a.ActualTime) = 2013
내가 어떤 결과를 얻을하지 않습니다, 그러나 세 개의 열이 NULL과 0을 포함한 값이!
평균을 얻기 전에 null 값을 제외 할 수 있습니까?
예 : AVERAGE(NOTNULL(SecurityW))
그 모든'AND's는 만 3 열에서 NULL이 아닌 값을 갖는 행을 얻을 것이다 것을 의미 사용할 수 있습니다. 또한,'Column'>'NULL' 인 경우'Column <> 0'은'UNKNOWN'으로 평가되므로 NOT NULL 검사는 필요하지 않습니다. –