Nowa odpowiedź
Na początku nie rozumiałem, że próbujesz zrobić sumę biegową. Oto jak by to wyglądało:
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;
Oryginalna odpowiedź
Możesz otrzymywać duplikaty z powodu dołączenia. Może e1 ma więcej niż jedno dopasowanie dla niektórych wierszy, co zawyża twoją liczbę. Albo to, albo porównanie w twoim sprzężeniu jest również porównywaniem sekund, co nie jest tym, czego oczekujesz.
W każdym razie, zamiast dzielić pole daty i godziny na dni i miesiące, po prostu usuń z niego czas. Oto jak to zrobić.
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);