Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

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 में संचयी योग की गणना करने के लिए 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-दिन का निःशुल्क परीक्षण प्रदान करते हैं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डुप्लिकेट प्रविष्टियों के लिए त्रुटि को कैसे संभालें?

  2. MySQL में महीने के नाम से ऑर्डर कैसे करें

  3. MySQL में पिछले एक महीने का डेटा कैसे प्राप्त करें

  4. SQL:परिणाम पंक्ति को कई बार दोहराएं, और पंक्तियों को क्रमांकित करें

  5. MySQL प्रतिकृति का उपयोग करके लाइव माइग्रेशन