나는 코딩에 익숙하지 않고이를 파악하려고 노력하고 있지만, 불행히도 나는별로 운이 없다. MySQL을 사용하여 두 테이블 (호출 및 작업)이 있고 두 테이블의 열을 표시하려고합니다. 하나의 열 (점수 - number_id로 그룹화)의 값 그룹 평균을 가져와 점수가 5보다 작은 경우에만 각 number_id의 평균 점수를 표시해야합니다.열의 숫자 그룹 평균을 얻으려면 어떻게합니까? "오류 1111 : 그룹 기능의 사용이 잘못되었습니다."
이것은 코드입니다. 순간, 그러나 나는 오류 (1111) 점점 계속 : 그룹 함수의 잘못된 사용 : 나는 WHERE 절을하지 않는 경우
SELECT job.id, job.number, job.number_id, COUNT(job.id) AS 'test_count',
AVG(calls.score) AS 'score_avg'
FROM job LEFT JOIN calls ON job.id = calls.job_id
WHERE AVG(calls.score) > 5
GROUP BY job.number_id;
내가 평균값을 표시 할 수 있습니다,하지만 난 적은 값을 얻을려고하면 5보다 큰 경우, MySQL은 위의 오류를 반환합니다. 모든 조언을 많이 주시면 감사하겠습니다.
이 평균값은 새 테이블에 삽입 될 예정입니다. 위 쿼리가 작동하는 방법을 파악한 후에 INSERT 문으로 조정할 수 있다고 가정합니다. 나는 그것을 생각하는 것이 맞습니까?
감사합니다.
WHERE 대신 'HAVING AVG (calls.score)> 5'입니다. – jarlh
쿼리에서보다 작음 대신> 기호를 사용하고 있습니다. @ Beany01 – Bunion