कई बार आपको बिक्री जैसे विशिष्ट कॉलम के लिए रनिंग टोटल या संचयी टोटल की गणना करने की आवश्यकता हो सकती है। चूंकि MySQL में संचयी कुल की गणना करने के लिए कोई फ़ंक्शन नहीं है, इसलिए आपको इसे SQL क्वेरी के माध्यम से पूरा करने की आवश्यकता है। यहाँ MySQL में संचयी कुल की गणना करने के लिए एक SQL क्वेरी है।
MySQL में संचयी कुल की गणना कैसे करें
यहाँ MySQL में संचयी कुल की गणना करने का तरीका बताया गया है। मान लें कि आपके पास निम्न तालिका है जिसमें दैनिक बिक्री डेटा है।
mysql> create table sales(order_date date,sale int); mysql> insert into sales values('2020-01-01',20), ('2020-01-02',25),('2020-01-03',15),('2020-01-04',30),('2020-01-05',20); mysql> select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-01-01 | 20 | | 2020-01-02 | 25 | | 2020-01-03 | 15 | | 2020-01-04 | 30 | | 2020-01-05 | 20 | +------------+------+
मान लें कि आप बिक्री के संचयी योग की गणना करना चाहते हैं, जैसे,
+------------+------+-----------------+ | order_date | sale | cumulative_sale | +------------+------+-----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+-----------------+
यहाँ MySQL में संचयी योग की गणना करने के लिए SQL क्वेरी है।
mysql> set @csum := 0; mysql> select order_date,sale, (@csum := @csum + sale) as cumulative_sale from sales order by order_date; +------------+------+-----------------+ | order_date | sale | cumulative_sale | +------------+------+-----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+-----------------+
बोनस रीड : MySQL में पिवट टेबल कैसे बनाएं
उपरोक्त क्वेरी में, हम एक अस्थायी चर csum को 0 पर सेट करते हैं। फिर प्रत्येक पंक्ति के लिए हम इसका उपयोग संचयी योग की गणना और संग्रह करने के लिए करते हैं।
कृपया ध्यान दें, यह संचयी राशि किसी भी कॉलम में संग्रहित नहीं है। यह केवल परिणाम में प्रदर्शित होता है।
यदि आप इस मान को संग्रहीत करना चाहते हैं, तो आपको अपनी तालिका में एक नया कॉलम जोड़ना होगा और नीचे दिखाए गए अनुसार अद्यतन खंड का उपयोग करना होगा।
mysql> alter table sales add column cumulative_sum int; mysql> set @csum := 0; mysql> update sales set cumulative_sum = (@csum := @csum + sale) order by order_date; mysql> select order_date,sale,cumulative_sum from sales; +------------+------+----------------+ | order_date | sale | cumulative_sum | +------------+------+----------------+ | 2020-01-01 | 20 | 20 | | 2020-01-02 | 25 | 45 | | 2020-01-03 | 15 | 60 | | 2020-01-04 | 30 | 90 | | 2020-01-05 | 20 | 110 | +------------+------+----------------+
आप WHERE क्लॉज या जॉइन का उपयोग करके फ़िल्टर शामिल करने के लिए अपनी SQL क्वेरी को कस्टमाइज़ कर सकते हैं, जैसा कि नीचे दिखाया गया है
mysql> set @csum := 0; mysql> select order_date,sale, (@csum := @csum + sale) as cumulative_sale from sales where <condition> order by order_date;
बोनस पढ़ें : MySQL में माध्यिका की गणना कैसे करें
चूंकि MySQL संचयी योग के लिए अंतर्निहित फ़ंक्शन की पेशकश नहीं करता है, आप MySQL में संचयी कुल की गणना करने के लिए उपरोक्त SQL क्वेरी का उपयोग कर सकते हैं।
जब आप MySQL में संचयी कुल की गणना कर सकते हैं, तो आप चार्टिंग टूल का उपयोग आसानी से उन्हें लाइन चार्ट या बार ग्राफ़ के रूप में प्लॉट कर सकते हैं, जैसा कि नीचे दिखाया गया है। यहां Ubiq का उपयोग करके बनाए गए चार्ट का एक उदाहरण दिया गया है।
यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।