エイリアスされたサブクエリでグループ化して並べ替えることはできますが、where句でエイリアスを使用することはできません。代わりに結合を使用する必要がありますか?MySQL where句とサブクエリとしてのavg()による並べ替え
作品:
SELECT entries.*,
(SELECT avg(value)
FROM `ratings`
WHERE ratings.entry_id = entries.id) as avg_rating
FROM `entries`
ORDER BY avg_rating DESC
は( "where句では、未知の列 'avg_ratingを'")失敗:
SELECT entries.*,
(SELECT avg(value)
FROM `ratings`
WHERE ratings.entry_id = entries.id) as avg_rating
FROM `entries`
WHERE avg_rating < '4.5000' ORDER BY avg_rating DESC