डेमो:db<>fiddle
SELECT
gs::date,
costs / COUNT(*) OVER (PARTITION BY entry_date) -- 3
FROM costs,
generate_series( -- 2
entry_date,
entry_date + interval '1 month - 1 day', -- 1
interval '1 day'
) gs
- महीने के आखिरी दिन की गणना (अगले महीने का पहला दिन पाने के लिए महीने के पहले दिन में एक महीना जोड़ें, उसमें से एक दिन घटाएं)
- एक महीने के शुरू से अंत तक एक तिथि श्रृंखला तैयार करें
- जेनरेट की गई श्रृंखला के साथ आपके डेटा के जुड़ने से पहले से ही लागत मूल्यों की नकल हो गई है, जिसे केवल प्रत्येक महीने की दिन गणना से विभाजित करने की आवश्यकता है, जो कि
COUNT()
है विंडो फ़ंक्शन यहाँ करता है