With this query I can get all entries created during the last week:
SELECT day, COALESCE(ct, 0) AS ct
FROM (SELECT now::date - d AS day FROM generate_series (0,
At first glance it looks like your performing a count function rather than a sum which is what you need, your simply just counting each record twice.
sum( CASE WHEN (created_at >= date_trunc('day', now()) - interval '6d')
THEN 1 ELSE 0 END) AS ct,
sum(CASE WHEN (canceled_at >= date_trunc('day', now()) - interval '6d')
THEN 1 ELSE 0 END) AS dl
You need to use sum which will then add all the cases where you case when is returning 1 rather than count which just counts all the values regardless whether they are 1 or 0!