我有SELECT:追加缺失月份和年份選擇值
SELECT month, year, ROUND(AVG(q_overall) OVER (rows BETWEEN 10000 preceding and current row),2) as avg
FROM (
SELECT EXTRACT(Month FROM date) as month, EXTRACT(Year FROM date) as year, ROUND(AVG(q_overall),1) as q_overall
FROM fb_parsed
WHERE business_id = 1
GROUP BY year, month
ORDER BY year, month) a
輸出:
month year avg
-----------------
12 2012 5
1 2013 4.5
2 2013 4.1
4 2013 4.8
5 2013 4.7
我必須追加該表缺少值(在本例中有3次月在2013年)。 AVG的必須是一樣的前一行,這意味着我需要這個表追加用:
3 2013 4.1
我能做到這一點具有自聯接和generate_series,或與一些UNION選擇?
非常感謝你,你真的幫了我哥登。 Postgresql在你的最後一個查詢中拋出了一些錯誤,因爲pg不知道第3行ORDER BY中的年和月,而fb_parsed表有很多其他數據,所以我必須追加一些WHERE clausules,但現在它工作得很完美。謝謝。 – Michal