Есть ли способ использовать квалифицировать в postgresql - PullRequest
0 голосов
/ 18 октября 2018

приведенный ниже запрос работает в teradata, есть ли способ написать тот же запрос в postgresql?Я получаю сообщение об ошибке при запуске этого ppostgresql 10

select *
from
    product
qualify
    row_number() over (partition by product_key order by product_no) = 1; 

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Postgres имеет distinct on, что должно быть еще более производительным:

select distinct on (product_key) p.*
from product p
order by product_key, product_no; 

Обычно это лучший способ в Postgres - получить по одной строке на группу.

0 голосов
/ 18 октября 2018

Вам нужен подзапрос:

select p.*
from (select p.*,
             row_number() over (partition by product_key order by product_no) as seq
      from product p
     ) p 
where seq = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...