Bien que je puisse regrouper et ordonner par sur une sous-requête aliasée, je ne peux pas utiliser l'alias dans une clause where. Ai-je besoin d'utiliser une jointure à la place?MySQL where clause et commande par avg() comme sous-requête
Travaux:
SELECT entries.*,
(SELECT avg(value)
FROM `ratings`
WHERE ratings.entry_id = entries.id) as avg_rating
FROM `entries`
ORDER BY avg_rating DESC
ne réussit pas ("colonne inconnue 'avg_rating' dans la clause where"):
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