私は比較的新しいコードを書いてこれを理解しようとしていますが、残念ながら私はあまり運がありません。 MySQLを使用して、2つのテーブル(呼び出しとジョブ)があり、両方のテーブルの列を表示したいとします。 1つの列(スコア - number_idでグループ化)から値のグループの平均を取得し、スコアが5未満の場合のみ、各number_idの平均スコアを表示する必要があります。列内の数字のグループの平均を取得するにはどうすればよいですか? 「エラー1111:グループ機能の無効な使用」
これはコードI現時点ではありますが、私はエラー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の代わりにAVG(calls.score)> 5 'を持ちます。 – jarlh
クエリではなく、>記号を使用しています@ Beany01 – Bunion