我需要在 WHERE 子句中使用别名,但它一直告诉我它是一个未知列。有没有办法解决这个问题?我需要选择评级高于 x 的记录。评级计算为以下别名:
sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating
我需要在 WHERE 子句中使用别名,但它一直告诉我它是一个未知列。有没有办法解决这个问题?我需要选择评级高于 x 的记录。评级计算为以下别名:
sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating
我不知道这是否适用于 mysql,但使用 sqlserver 你也可以像这样包装它:
select * from (
-- your original query
select .. sum(reviews.rev_rating)/count(reviews.rev_id) as avg_rating
from ...) Foo
where Foo.avg_rating ...
SELECT * FROM (SELECT customer_Id AS 'custId', gender, age FROM customer
WHERE gender = 'F') AS c
WHERE c.custId = 100;
如果您的查询是静态的,您可以将其定义为视图,然后您可以在查询视图时在 where 子句中使用该别名。