【问题标题】:PostgreSQL: ERROR: column “” does not existPostgreSQL:错误:列“”不存在
【发布时间】: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

【问题讨论】:

    标签: postgresql syntax-error


    【解决方案1】:

    WHERE 子句应该是 HAVING 子句:

    SELECT name, MIN(rating) AS minrating
    FROM actors
    GROUP BY name
    HAVING MIN(rating) > 8.5
    

    请注意,您定义的列别名不能用于HAVING 子句,因此我们需要重复MIN 表达式。

    【讨论】:

    猜你喜欢
    • 2020-12-04
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2019-05-08
    相关资源
    最近更新 更多