2010-11-20 4 views
2

이벤트가 얼마나 자주 발생하는지 알고 싶습니다. 그리고 데이터베이스에서이 이벤트가 발생하면 부울을 'TRUE'로 설정하여 비 발생을 설정하고 있습니다. 그것은 '거짓'입니다.오류 : function avg (boolean)이 (가) 존재하지 않습니다.

하지만 그것은 저에게이 오류를 반환) 함수 평균을 (사용하여 값을 선택하려고 해요 때 오류 : 함수 평균 (부울) 내가 이벤트 주파수를 측정 할 수있는 방법

존재하지 않으며, 좋은 성과를 유지하는 시간이 있습니까?

고맙습니다.

주앙

답변

4

이 공의로 값을 강요 할 것이다 일의

select avg(val::int); 
7

이 작업을 수행 할 수 있습니다 :

AVG(CASE WHEN myBooleanAttribute = TRUE THEN 1 ELSE 0 END) 
+2

AVG (CASE WHEN myBooleanAttribute THEN 1 ELSE 0 END)도 작동합니다. – Tometzky

1

당신이 int로 평균을 얻을 것이다 당신 (int)로 캐스팅하면되는 매우 유용하지 않습니다. 대신 시도하십시오 :

select avg(val::int::float4); 
관련 문제