2014-03-02 4 views
2

post_author의 평균 결과를 계산하고 싶습니다. 여기 내 코드는 다음과 같습니다조건부 평균을 수행하는 방법?

AVG(CASE WHEN post_author = 1 THEN post_content ELSE 0 END)as avg 

그것은 일이 잘못된 경우 83.35 해야한다 (66.7 100)이 개 기록에 100의 결과를 얻었다?

+0

은 post_auther 및 post_content 숫자 열입니까? – Ray

+0

'avg' 계산에'group by post_author'를 사용하여 잘못 된 점은 무엇입니까? –

+1

원하는 DDL (및/또는 sqlfiddle)을 함께 제공하십시오. – Strawberry

답변

4

당신은 너무 NULL가 전달되면, else 절을 삭제할 수 있습니다 :

AVG(CASE WHEN post_author = 1 THEN post_content END) as "avg" 

귀하의 쿼리는 평균의 목적을 위해 0에 불일치의 값을 설정하는 것입니다. 무시하고 싶다면 NULL을 사용하십시오.

+0

AVG (post_author = 1 이후 post_content ELSE NULL END)를 수행해야합니다. – georgecj11

관련 문제