Sumowanie wybranych wartości

0

Witam, jestem początkującym użytkownikiem i mam problem, ponieważ chcę stworzyć funkcję w postgresie, która będzie sumowała mi wybrane wartości z jednej z kolumn (kolumna 'powierzchnia'), odwołując się do numeru z kolumny 'id'. Chcę użyć nr id do wybrania odpowiednich wartości do sumowania, np. SELECT suma('id1','id2') i wynikiem byłaby suma wybranych wartości z kolumny powierzchnia. Tabela 'powierzchnie_lesne'.
Czy to ma jakoś tak wyglądać?

CREATE OR REPLACE FUNCTION pow (integer)
RETURNS integer AS
$$
DECLARE pow integer;
BEGIN
SELECT sum(powierzchnia 'czy tutaj coś muszę dodać, co by właśnie wskazywało wiersze za pomocą id?') INTO pow FROM powierzchnie_lesne
RETURN pow;
END;
$$
LANGUAGE plpgsql;

Pozdrawiam, Wiesław.

0
create function pow(integer[])
returns integer as
$$
declare wynik INTEGER;
begin
	select sum(powierzchnia) into wynik from powierzchnie_lesne where id= any($1);
	return wynik;
end
$$
language plpgsql;

Wywołanie:

SELECT pow(ARRAY[1,2,3,...])

lub

create function pow(variadic integer[])
returns integer as
$$
declare wynik INTEGER;
begin
	select sum(powierzchnia) into wynik from powierzchnie_lesne where id= any($1);
	return wynik;
end
$$
language plpgsql;

Wywołanie:

SELECT pow(1,2,3,...)
0

Dziękuję bardzo, wszystko śmiga, a ja jeszcze się muszę dużo nauczyć ;D

1 użytkowników online, w tym zalogowanych: 0, gości: 1