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

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
HAVING avg_rating>5
WHERE (sum(reviews.rev_rating)/count(reviews.rev_id))>5
不允許引用WHERE子句中的列別名,因?yàn)樵趫?zhí)行WHERE子句時(shí)可能尚未確定列值。看見(jiàn) 第B.1.5.4節(jié),“列別名問(wèn)題” .

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