gpt4 book ai didi

PostgreSQL:使用别名列时的情况

转载 作者:行者123 更新时间:2023-11-29 14:11:49 24 4
gpt4 key购买 nike

我想做这样的事情:

select 
case when (select count(*) as score from users t1 ) >5 THEN score else 0 end

当我尝试时出现错误:

column score doesn't exists. 

我可以用其他方式做到这一点吗?我需要它来设置一个 LIMIT 值。我当然想这样做:

select 
case when (select count(*) as score from users t1 ) >5 THEN (select count(*) as score from users) else 0 end

但我需要执行两次相同的查询。有人有想法吗?

最佳答案

您可以使用 WITH 子句:

with a as (select count(*) score from t)
select case when score > 5 then score else 0 end from a;

或子查询(内联 View ):

select case when score > 5 then score else 0 end 
from (select count(*) score from t) t;

关于PostgreSQL:使用别名列时的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com