यह मानते हुए कि मैं आपके अनुरोध को सही ढंग से समझता हूं, मुझे लगता है कि आपको इन पंक्तियों के साथ कुछ चाहिए:
SELECT "periods"."start_date",
"periods"."end_date",
SUM(CASE WHEN "balance_transactions"."created" BETWEEN "periods"."start_date" AND "periods"."end_date" THEN "balance_transactions"."fee" ELSE 0.00 END) AS period_sum
FROM "balance_transactions"
JOIN charges ON balance_transactions.source = charges.balance_id
JOIN ( SELECT '2013-12-20'::date as start_date, '2014-01-19'::date as end_date UNION ALL
SELECT '2013-12-21'::date as start_date, '2014-01-20'::date as end_date UNION ALL
SELECT '2013-12-22'::date as start_date, '2014-01-21'::date as end_date UNION ALL
SELECT '2013-12-23'::date as start_date, '2014-01-22'::date as end_date UNION ALL
SELECT '2013-12-24'::date as start_date, '2014-01-23'::date as end_date
) as periods
ON "balance_transactions"."created" BETWEEN "periods"."start_date" AND "periods"."end_date"
WHERE "balance_transactions"."account_id" = 6
AND "balance_transactions"."type" = 'charge'
AND "charges"."refunded" = false
AND "charges"."invoice" IS NOT NULL
GROUP BY "periods"."start_date", "periods"."end_date"
इससे आपको वे सभी अवधियां वापस मिल जाएंगी जिनमें आप एक एकल परिणाम में रुचि रखते हैं। चूंकि क्वेरी आपके फ़्रंट-एंड में फ्लाई पर 'जेनरेट' होती है, इसलिए आप जितनी चाहें उतनी पंक्तियाँ पीरियड्स भाग में जोड़ सकते हैं।
संपादित करें:कुछ परीक्षण और त्रुटि के साथ मैं इसे [sqlFiddle में] [1] काम करने में कामयाब रहा और तदनुसार ऊपर दिए गए सिंटैक्स को अपडेट किया।