您能在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条经验 获得超7个赞
select * from ( -- your original query select .. sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating from ...) Foowhere Foo.avg_rating ...
添加回答
举报
0/150
提交
取消