Postgresql 在(col)col#u别名–;别名不工作

Postgresql 在(col)col#u别名–;别名不工作,postgresql,distinct-on,Postgresql,Distinct On,我正在尝试运行此命令: SELECT DISTINCT ON (_id) test FROM creator_map.infos; 这给了我一个错误: 错误:“测试”列不存在 但是根据下面的教程,测试应该是别名 SELECT DISTINCT ON (column_1) column_1_alias, column_2 FROM tbl_name ORDER BY column_1, column_2; 如何使distinct成为别名?您不能在(…)上指定别名,因为它不是“返回

我正在尝试运行此命令:

SELECT DISTINCT ON (_id) test FROM creator_map.infos;
这给了我一个错误:

错误:“测试”列不存在

但是根据下面的教程,测试应该是别名

SELECT
 DISTINCT ON
 (column_1) column_1_alias,
 column_2
FROM
 tbl_name
ORDER BY
 column_1,
 column_2;

如何使distinct成为别名?

您不能在(…)上指定别名,因为它不是“返回”名称的表达式。这就像试图给
IN
条件一个别名
,其中a IN(1,2,3)作为foo

如果有疑问,请阅读。这里没有提到别名

您只能为实际选择列表中的表达式定义别名,并且
(…)
不是选择列表的一部分,而是
表达式上的
的一部分

我认为这只是教程页面上糟糕的措辞,应该是:

select distinct on (column1) 
          column1 as column_1_alias,
          column2
from ....
您不能给(…)
一个别名,因为它不是“返回”名称的表达式。这就像试图给
IN
条件一个别名
,其中a IN(1,2,3)作为foo

如果有疑问,请阅读。这里没有提到别名

您只能为实际选择列表中的表达式定义别名,并且
(…)
不是选择列表的一部分,而是
表达式上的
的一部分

我认为这只是教程页面上糟糕的措辞,应该是:

select distinct on (column1) 
          column1 as column_1_alias,
          column2
from ....