Как получить данные из базы по дате и если нет даты за день получить 0?
Например нужно сделать выборку за неделю (за каждый день отдельно)
id| day | item
1 | 2019-04-01 | 3
2 | 2019-04-04 | 5
3 | 2019-04-05 | 7
4 | 2019-04-06 | 2
и если нет какого то дня в базе данных, на выходе за эту дату выходило значение =0
WITH recursive t (n) AS (
SELECT CAST('2019-04-01' as datetime) n FROM dual
UNION ALL
SELECT (n + INTERVAL 1 DAY) n FROM t WHERE n<=CAST('2019-04-06' as datetime)
)
SELECT t.n,sum(d.item) FROM data d
RIGHT JOIN t ON d.day = t.n
WHERE d.day BETWEEN CAST('2019-04-01' as datetime) AND CAST('2019-04-06' as datetime)