微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在PostgreSQL ORDER BY子句中使用ALIAS?

我有以下查询

select 
    title,( stock_one + stock_two ) as global_stock

from product

order by
    global_stock = 0,title;

在Postgresql 8.1.23中运行它我收到此错误

查询失败:错误:列“global_stock”不存在

有人可以帮我把它投入使用吗?我首先需要可用的项目,然后是不可用的项目.非常感谢!

解决方法

您可以随时以这种方式订购:

select 
    title,( stock_one + stock_two ) as global_stock
from product
order by 2,1

或将其包装在另一个SELECT中:

SELECT *
from
(
    select 
        title,( stock_one + stock_two ) as global_stock
    from product
) x
order by (case when global_stock = 0 then 1 else 0 end) desc,title

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐