MySQL में संचयी कुल की गणना के लिए कोई फ़ंक्शन नहीं है, जिसे रनिंग टोटल भी कहा जाता है। 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 में एकाधिक पंक्तियों को एक फ़ील्ड में कैसे संयोजित करें
यहाँ 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 | +------------+------+-----------------+
उपरोक्त क्वेरी में, हम पहले उपयोगकर्ता द्वारा परिभाषित चर csum को 0 पर सेट करते हैं। हम इसका उपयोग प्रत्येक पंक्ति के कुल योग को संग्रहीत करने के लिए करते हैं। यह ध्यान रखना महत्वपूर्ण है कि csum किसी तालिका में संग्रहीत नहीं है। इसका उपयोग केवल चल रहे कुल मूल्यों को प्रदर्शित करने के लिए किया जाता है।
यदि आप इस रनिंग टोटल को स्टोर करना चाहते हैं, तो आप अपनी टेबल में एक नया कॉलम जोड़ सकते हैं और रनिंग टोटल वैल्यू को स्टोर करने के लिए UPDATE क्लॉज का उपयोग कर सकते हैं।
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 | +------------+------+----------------+
बोनस पढ़ें : MySQL में कुल पंक्ति कैसे जोड़ें
जैसा कि दिखाया गया है, आप WHERE क्लॉज या JOINS का उपयोग करके अपनी 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 कुल चलाने के लिए कोई अंतर्निहित फ़ंक्शन प्रदान नहीं करता है, आप उपरोक्त SQL क्वेरी का उपयोग MySQL में कुल चलाने के लिए कर सकते हैं। आप MONTH(order_date) . का भी उपयोग कर सकते हैं order_date . के बजाय ऊपर यदि आप महीने के हिसाब से संचयी राशि के लिए SQL लिखना चाहते हैं।
एक बार जब आप रनिंग टोटल की गणना कर लेते हैं, तो आप इस डेटा को एक लाइन चार्ट में प्लॉट करने के लिए चार्टिंग टूल का उपयोग कर सकते हैं और इसे अपनी टीम के साथ साझा कर सकते हैं। यहां एक लाइन चार्ट का उदाहरण दिया गया है, जो यूबिक का उपयोग करके बनाए गए कुल रनिंग को दिखाता है।
यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।