महीने दर महीने वृद्धि हर व्यवसाय के लिए एक प्रमुख प्रदर्शन संकेतक है। चूंकि, MySQL में महीने दर महीने प्रतिशत वृद्धि की गणना करने के लिए कोई फ़ंक्शन नहीं है, इसलिए आपको महीने दर महीने परिवर्तन की गणना करने के लिए एक SQL क्वेरी लिखनी होगी। तो आइए देखें कि MySQL में महीने दर महीने प्रतिशत वृद्धि की गणना कैसे करें। आप इसका उपयोग अपने व्यवसाय में समय के साथ महीने दर महीने प्रतिशत परिवर्तन पर नज़र रखने के लिए भी कर सकते हैं।
MySQL में महीने दर महीने प्रतिशत वृद्धि की गणना कैसे करें
मान लें कि आपके पास डेटा तालिका माह_बिक्री (माह, बिक्री) है जिसमें मासिक बिक्री शामिल है, जैसा कि नीचे दिखाया गया है।
mysql> create table monthly_sales(month int,sale int); mysql> insert into monthly_sales(month,sale) values(1,20), (2,30),(3,25),(4,45),(5,25); mysql> select * from monthly_sales; +-------+------+ | month | sale | +-------+------+ | 1 | 20 | | 2 | 30 | | 3 | 25 | | 4 | 45 | | 5 | 25 | +-------+------+
आप निम्न SQL का उपयोग करके महीने दर महीने प्रतिशत वृद्धि की गणना कर सकते हैं।
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from monthly_sales group by month) y; +-------+------+-------------+---------------------+ | month | sale | growth rate | @last_entry := sale | +-------+------+-------------+---------------------+ | 1 | 20 | 0 | 20 | | 2 | 30 | 50.00 | 30 | | 3 | 25 | -16.67 | 25 | | 4 | 45 | 80.00 | 45 | | 5 | 25 | -44.44 | 25 | +-------+------+-------------+---------------------+
उपरोक्त क्वेरी में, प्रत्येक पंक्ति (महीने) के लिए, हम पिछले महीने की बिक्री को एक अस्थायी चर last_entry में संग्रहीत करते हैं।
हालांकि, ज्यादातर मामलों में, आपके पास दैनिक बिक्री डेटा होगा। उस स्थिति में, आपको पहले इसे मासिक बिक्री से जोड़ना होगा, और फिर महीने दर महीने प्रतिशत वृद्धि दर की गणना करनी होगी। मान लें कि आपके पास डेटा तालिका बिक्री(created_at, बिक्री) है जिसमें दैनिक बिक्री जानकारी शामिल है।
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-02-05',20),('2020-02-10',20),('2020-02-06',25), ('2020-03-07',15),('2020-03-08',30),('2020-03-09',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-02-05 | 20 | | 2020-02-10 | 20 | | 2020-02-06 | 25 | | 2020-03-07 | 15 | | 2020-03-08 | 30 | | 2020-03-09 | 20 | +------------+------+
मान लें कि आप मासिक वृद्धि दर की गणना करना चाहते हैं, इसके लिए यहां SQL क्वेरी है।
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from (select month(order_date) as month,sum(sale) as sale from sales group by month(order_date)) monthly_sales group by month) y; +-------+------+-------------+---------------------+ | month | sale | growth rate | @last_entry := sale | +-------+------+-------------+---------------------+ | 1 | 90 | 0 | 90 | | 2 | 65 | -27.78 | 65 | | 3 | 65 | 0.00 | 65 | +-------+------+-------------+---------------------+
उपरोक्त क्वेरी में, हम सबसे पहले दैनिक बिक्री को मासिक मूल्यों में जोड़ते हैं (बोल्ड . में दिखाया गया है) ) और फिर प्रतिशत वृद्धि की गणना करने के लिए पिछली क्वेरी का उपयोग करें।
बोनस पढ़ें : MySQL में प्रति दिन औसत बिक्री की गणना कैसे करें
यदि आप महीने दर महीने प्रतिशत वृद्धि की गणना करने से पहले अपने डेटा को फ़िल्टर करना चाहते हैं, तो आप अपनी क्वेरी में WHERE क्लॉज़ जोड़कर ऐसा कर सकते हैं जैसा कि नीचे दिखाया गया है
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from (select month(order_date) as month,sum(sale) as sale from sales WHERE condition group by month(order_date)) monthly_sales group by month) y;
बोनस पढ़ें : MySQL में प्रति माह कुल बिक्री की गणना कैसे करें?
कृपया ध्यान दें :चूंकि महीने दर महीने प्रतिशत वृद्धि की गणना एक अस्थायी चर में पिछली पंक्ति के मान को संग्रहीत करने की अवधारणा पर आधारित है, सुनिश्चित करें कि आपकी तालिका महीने के आरोही क्रम में क्रमबद्ध है (जैसे 1,2,3, आदि या 202001,202002 ,202003, आदि)। अन्यथा आपका डेटा वर्णानुक्रम में क्रमबद्ध हो सकता है और जब आप MySQL में महीने दर महीने प्रतिशत वृद्धि की गणना करते हैं तो गलत परिणाम दे सकते हैं।
आप इस डेटा को बार चार्ट या डैशबोर्ड पर प्लॉट करने और अपनी टीम के साथ साझा करने के लिए रिपोर्टिंग टूल का उपयोग कर सकते हैं। यहां एक बार चार्ट का उदाहरण दिया गया है, जो Ubiq का उपयोग करके बनाए गए महीने दर महीने बिक्री वृद्धि को दर्शाता है।
यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।