Hello all,

I've got two queries which should produce the same results but they don't
for some reason, please consider these :

SELECT date_trunc('day', payments.created_at) "day",
SUM("payments"."amount") AS sum_id FROM "payments"
  INNER JOIN "users" ON "users"."id" = "payments"."user_id" WHERE
"payments"."currency" = 'gbp' AND (payments.refunded_date is null)
  AND (users.deleted_at is null)
  AND (users.subscribed_at between '2014-07-07 00:00:00.000000' and
'2014-07-07 23:59:59.999999')
  AND ("payments"."created_at" BETWEEN '2014-07-07 00:00:00.000000'
AND '2014-07-07 23:59:59.999999')GROUP BY 1ORDER by 1 asc

It produces this :

day                   |
sum_id------------------------------"2014-07-07 00:00:00" | 1863.85

But when I try to group by day at looking at 30 days period with this query
:

SELECT date_trunc('day', payments.created_at) "day",
SUM("payments"."amount") AS sum_id FROM "payments"
  INNER JOIN "users" ON "users"."id" = "payments"."user_id" WHERE
"payments"."currency" = 'gbp' AND (payments.refunded_date is null)
  AND (users.deleted_at is null)
  AND (users.subscribed_at between '2014-06-30 00:00:00.000000' and
'2014-07-30 23:59:59.999999')
  AND ("payments"."created_at" BETWEEN '2014-06-30 00:00:00.000000'
AND '2014-07-30 23:59:59.999999')GROUP BY 1ORDER by 1 asc

It produces this (truncated to include the important data only) :

day                   |
sum_id------------------------------"2014-07-07 00:00:00" | 1898.84

So looking for same date using different date range I get different
results, how is this even possible? Can I look at something else? I'm
really stuck here

Thanks

Reply via email to