DISTINCT ON (col) col_alias - псевдоним не работает - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь запустить эту команду:

SELECT DISTINCT ON (_id) test FROM creator_map.infos;

, которая выдает ошибку:

ОШИБКА: столбец "test" не существует

, но согласно следующему уроку, test должен быть псевдонимом

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

Источник .

Как сделать так, чтобы отличительное сталопсевдоним?

1 Ответ

2 голосов
/ 17 марта 2019

Вы не можете дать on (...) псевдоним, потому что это не выражение, которое "возвращает" имя.Это все равно что пытаться присвоить условию IN псевдоним where a in (1,2,3) as foo

В случае сомнений прочитайте руководство .Там не упоминается псевдоним.

Вы можете определить псевдоним только для выражения в фактическом списке выбора, и (...) не является частью списка выбора, но является частью выражения distinct on.

Я думаю, что на этой странице учебника просто плохая формулировка, и она должна гласить:

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