私は、広告テーブルに結合された評価テーブルの平均評価を取得するSQLクエリを持っています。WHEREをCOUNT(*)条件に追加するMySQL
私のクエリは正常に動作しますが、WHEREステートメントを追加して2つ以上の評価を取得する広告のみを取得します。
これは私のクエリです:
SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
GROUP BY ad_id
そして、私の目的のクエリ:
SELECT ad_id, AVG(rating) as average_rating,
COUNT(user_id) as num_rates
FROM ads_rating
WHERE num_rates > 1
GROUP BY ad_id
しかし、MariaDBは私に言っている:
[のErr] 1054 - 「where句で不明な列 'num_rates' を'
ありがとうと申し訳ありませんが、MySQLの私のnoob
、GROUP BYとHAVING作品を使用すると、あなたはあなたのグループ文で 'having'を使用する必要がありCOUNT – fungusanthrax
のように集約された機能で動作します**持つ**句を、使用することを検討してください。 –
groupbyさんと仕事をしている –