您能在MySQL的WHERE子句中使用別名嗎?我需要在WHERE子句中使用別名,但它一直告訴我,它是一個未知列。有什么辦法可以繞過這個問題嗎?我需要選擇評級高于x的記錄。評級計算為以下別名:sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating
3 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
HAVING avg_rating>5
WHERE (sum(reviews.rev_rating)/count(reviews.rev_id))>5
不允許引用WHERE子句中的列別名,因為在執行WHERE子句時可能尚未確定列值。看見 第B.1.5.4節,“列別名問題” .

慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
select * from ( -- your original query select .. sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating from ...) Foowhere Foo.avg_rating ...
添加回答
舉報
0/150
提交
取消