सहसंबद्ध क्वेरी का उपयोग करना:
SELECT t.id,
t.count,
(SELECT SUM(x.count)
FROM TABLE x
WHERE x.id <= t.id) AS cumulative_sum
FROM TABLE t
ORDER BY t.id
MySQL वैरिएबल का उपयोग करना:
SELECT t.id,
t.count,
@running_total := @running_total + t.count AS cumulative_sum
FROM TABLE t
JOIN (SELECT @running_total := 0) r
ORDER BY t.id
नोट:
JOIN (SELECT @running_total := 0) r
एक क्रॉस जॉइन है, और एक अलगSET
. की आवश्यकता के बिना परिवर्तनीय घोषणा की अनुमति देता है आज्ञा।- तालिका उपनाम,
r
, किसी भी सबक्वेरी/व्युत्पन्न तालिका/इनलाइन दृश्य के लिए MySQL द्वारा आवश्यक है
चेतावनी:
- MySQL विशिष्ट; अन्य डेटाबेस के लिए पोर्टेबल नहीं है
ORDER BY
महत्वपूर्ण है; यह सुनिश्चित करता है कि ऑर्डर ओपी से मेल खाता है और अधिक जटिल परिवर्तनीय उपयोग के लिए बड़े प्रभाव हो सकते हैं (आईई:psuedo ROW_NUMBER/RANK कार्यक्षमता, जिसमें MySQL की कमी है)