访问select中的别名

时间:2016-04-06 19:15:28

标签: postgresql sql-view

我尝试使用一些派生数据创建视图,但我很难这样做。

create or replace view myview as
SELECT 
    SUM(field1) AS "field1",
    COUNT(field1) AS "field2",
    (field1/field2) AS "field3"
FROM mytable

我的问题是我对mysql更熟悉,并且可能会想到这一点,但这是postgres,我仍然在语法上被绊倒。

我希望field3基于字段1和2.我猜测我可以做类似的事情......

(SUM(field1)/COUNT(field1)) AS "field3"

但这感觉多余,我的实际查询必须更长,所以如果有办法,访问别名就会有所了解。

1 个答案:

答案 0 :(得分:0)

别名在同一级别上无法识别。您可以按照建议重复代码。或者你需要创建一个子查询。

SELECT (field1/field2) AS "field3"
FROM (
    SELECT 
        SUM(field1) AS "field1",
        COUNT(field1) AS "field2",        
    FROM mytable
    ) T