0
喜在多個窗口行值基本上我有如下表結構: 分組超過了在Postgres
現在正試圖將它們分組如下超過week_end如下日期的13。例如:如果我們將產品p1的week_end視爲2012年11月17日,我應該能夠總結前面13周的費率,並填充在表格上的13周列(即來自行的費率總和) 16至29行)。我試着寫了如下的功能,但是因爲錯誤「訪問關係」
create or replace function vin_last_13week_rate(j date,p_name text) RETURNS numeric AS $$
declare
week_end date;
rate_tot numeric;
rate_tot_final numeric default 0;
current_week date;
i integer;
begin
week_end:=(j::date - CAST(EXTRACT(DOW FROM j::date)+1 as int))::timestamp +'1 week'::interval+'23 hours'::interval+'59 minutes'::interval+'59 seconds'::interval ;
for i in 1..13 loop
current_week :=week_end - 7;
select total_rate into rate_tot from res where week_end = current_week and product_name = p_name ;
rate_tot_final= rate_tot_final + rate_tot;
end loop;
return rate_tot_final;
end
$$ LANGUAGE plpgsql VOLATILE;
select vin_last_13week_rate(week_end,product_name) from res;
我得到錯誤的不成功的:因爲它訪問關係「資源」功能無法分段執行 能有人幫助我這樣做。謝謝!
你能告訴我們最終的答案應該是什麼樣子嗎?換句話說,對於所有產品的所有日期,13周,所有產品的所有日期,明智的意思是什麼? –
@DanielSparing現在編輯我的帖子來解釋清楚。你可以看看現在 – user2569524
好吧,首先,你已經從函數體中讀取了res,所以在調用時不需要讀取,你可以嘗試下面的內容併發布錯誤:'select vin_last_13week_rate(week_end,product_name); ' –