1
を含む列の合計検索:私はこの選択クエリ持つウィンドウ関数
SELECT
total,
COALESCE(total - Lag(total)OVER(ORDER BY total), 0) AS dif_total
FROM (select count(*) as total
FROM
tbl_person
left join
tbl_census
on
tbl_census.person_id = tbl_person.person_id
group by extract(year from tbl_census.date)
) abc
すると、私は列dif_totalの合計を見つけることができる方法はありますか?
ウィンドウ関数が含まれているため、Sum()を使用できません。
私は関数を呼び出して配列を列に変換してからSum()を使うことができるかもしれないので、列を配列に保存しようとしました。
しかし、私はそれを台無しにしました。
ここに私の関数の問い合わせがあります。
CREATE OR REPLACE function growth() Returns int[] as $$
declare total2 integer[];
BEGIN
SELECT
total,
COALESCE(total - Lag(total)OVER(ORDER BY total), 0) into total2
FROM
(select count(*) as total
from
tbl_person
group by extract(year from bdate)
) abc ;
RETURN total2;
END; $$ LANGUAGE plpgsql;
機能クエリが正常に実行され、警告やエラーが表示されませんが、私は、私はそれを選択しようとすると、それは「
配列値が始まらなければなりませんと言うだろうので、私はそれが間違っていたと思います{"または寸法情報
私はpostgreにストアドファンクションを使用することで非常に新しいです。
機能を変更するにはどうすればよいですか? 上記の列dif_totalを合計する他の方法は何ですか?