नया उत्तर
पहले तो मुझे समझ नहीं आया कि आप एक रनिंग टोटल करने की कोशिश कर रहे हैं। यहां बताया गया है कि यह कैसा दिखेगा:
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;
मूल उत्तर
आपके शामिल होने के कारण आपको डुप्लीकेट मिल सकते हैं। हो सकता है कि e1 में कुछ पंक्तियों के लिए एक से अधिक मैच हों जो आपकी गिनती को बढ़ा रहे हों। या तो वह या आपके शामिल होने की तुलना भी सेकंड की तुलना कर रही है, जो कि वह नहीं है जिसकी आप अपेक्षा करते हैं।
किसी भी तरह, डेटाटाइम फ़ील्ड को दिनों और महीनों में काटने के बजाय, बस इससे समय निकाल दें। यहां बताया गया है कि आप यह कैसे करते हैं।
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);