Nová odpověď
Nejdřív jsem nechápal, že se snažíš udělat průběžný součet. Takto by to vypadalo:
SET @runningTotal = 0;
SELECT
e_date,
num_interactions,
@runningTotal := @runningTotal + totals.num_interactions AS runningTotal
FROM
(SELECT
DATE(eDate) AS e_date,
COUNT(*) AS num_interactions
FROM example AS e
GROUP BY DATE(e.Date)) totals
ORDER BY e_date;
Původní odpověď
Kvůli vašemu připojení můžete získat duplikáty. Možná má e1 více než jednu shodu pro některé řádky, což zvyšuje váš počet. Buď to, nebo srovnání ve vašem spojení také porovnává sekundy, což není to, co očekáváte.
Každopádně místo rozřezávání pole datetime na dny a měsíce z něj prostě odeberte čas. Zde je návod, jak to udělat.
SELECT
DATE(e.Date) AS e_date,
count(e.ID) AS num_interactions
FROM example AS e
JOIN example e1 ON DATE(e1.Date) <= DATE(e.Date)
GROUP BY DATE(e.Date);