【发布时间】:2021-04-02 08:36:46
【问题描述】:
我试图只选择那些评分超过 8.5 的演员,但是出现错误说 minrating 列不存在。如果我删除 where 子句,那么它会起作用,但我会得到任何评级,而不是那些 onl
select name, min(rating) as minrating
from actors
where minrating >8.5
group by name
【问题讨论】:
我试图只选择那些评分超过 8.5 的演员,但是出现错误说 minrating 列不存在。如果我删除 where 子句,那么它会起作用,但我会得到任何评级,而不是那些 onl
select name, min(rating) as minrating
from actors
where minrating >8.5
group by name
【问题讨论】:
WHERE 子句应该是 HAVING 子句:
SELECT name, MIN(rating) AS minrating
FROM actors
GROUP BY name
HAVING MIN(rating) > 8.5
请注意,您定义的列别名不能用于HAVING 子句,因此我们需要重复MIN 表达式。
【讨论】:
GROUP BY 和ORDER BY clauses 一起使用。并且 不能 与 WHERE 和 HAVING 子句一起使用。来源:enterprisedb.com/postgres-tutorials/…