PostgreSql найти номер - PullRequest
       2

PostgreSql найти номер

0 голосов
/ 07 декабря 2018

Написать агрегат, который находит третье по величине целое число в столбце?Вот что я делаю:

create function third_step(bigint, integer) returns bigint AS
$$

SELECT distinct
 * from count_lab order by ab asc limit 1 offset 2 ;


$$ language sql; --can we use plpgsql somehow?

create aggregate third_agg(integer)
(stype=bigint,sfunc=third_step,initcond=0); 
SELECT distinct
 * from count_lab order by ab asc limit 1 offset 2  ;

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Должно быть:

SELECT DISTINCT ab 
    FROM count_lab 
    WHERE ab IS NOT NULL 
    ORDER BY ab DESC 
    LIMIT 1 OFFSET 2;
0 голосов
/ 07 декабря 2018

создать функцию third_step (integer, ab integer) возвращает целое число AS $$

ВЫБРАТЬ отличную * от порядка count_lab по ab asc limit 1 offset 2;

$$ language sql;- можем ли мы каким-либо образом использовать plpgsql?

создать агрегат third_agg (целое число) (stype = integer, sfunc = third_step, initcond = 0);ВЫБЕРИТЕ отличное * от порядка count_lab по ab asc limit 1 offset 2;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...