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

MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कैसे करें

आपके व्यवसाय में साप्ताहिक विकास प्रवृत्तियों को ट्रैक करने के लिए सप्ताह-दर-सप्ताह निगरानी प्रतिशत वृद्धि एक उपयोगी तरीका है। यहाँ MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने का तरीका बताया गया है। इसका उपयोग किसी भी मीट्रिक के लिए SQL में सप्ताह दर सप्ताह परिवर्तन की गणना करने के लिए किया जा सकता है।

MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कैसे करें

यहाँ MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के चरण दिए गए हैं। मान लें कि आपके पास साप्ताहिक_बिक्री (सप्ताह, बिक्री) तालिका है जिसमें साप्ताहिक बिक्री संख्याएं हैं, जैसा कि नीचे दिखाया गया है।

mysql> create table weekly_sales(week int, sale int);

mysql> insert into weekly_sales(week,sale) 
       values(1,20),(2,30),(3,25),(4,45),(5,25);

mysql> select * from weekly_sales;
+------+------+
| week | sale |
+------+------+
|    1 |   20 |
|    2 |   30 |
|    3 |   25 |
|    4 |   45 |
|    5 |   25 |
+------+------+

आप वृद्धि प्रतिशत के लिए निम्न SQL क्वेरी का उपयोग करके सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कर सकते हैं।

mysql> select week, 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 week, sum(sale) sale
         from   weekly_sales
         group by week) y;
+------+------+-------------+---------------------+
| week | 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 नामक एक अस्थायी चर में संग्रहीत करते हैं। और प्रतिशत वृद्धि की गणना करने के लिए इसका उपयोग करें।

बोनस पढ़ें : MySQL में दो स्तंभों के प्रतिशत की गणना कैसे करें

हालांकि, ज्यादातर मामलों में, आपके पास साप्ताहिक बिक्री के बजाय दैनिक बिक्री डेटा होगा। इसलिए, उस स्थिति में, आपको पहले इसे साप्ताहिक बिक्री के लिए एकत्रित करना होगा और फिर सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के लिए उपरोक्त क्वेरी का उपयोग करना होगा।

मान लें कि आपके पास दैनिक बिक्री डेटा तालिका बिक्री (order_date, बिक्री) है

mysql>create table sales(order_date date,sale int);

mysql>insert into sales(order_date,sale)
values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15),
('2020-01-04',11),('2020-01-05',13),('2020-01-06',9),
('2020-01-07',21),('2020-01-08',10),('2020-01-09',10),
('2020-01-10',2),('2020-01-11',16),('2020-01-12',12),
('2020-01-13',10),('2020-01-14',18),('2020-01-15',15),
('2020-01-16',12),('2020-01-17',10),('2020-01-18',18),
('2020-01-19',14),('2020-01-20',16),('2020-01-21',12),
('2020-01-22',21),('2020-01-23',13),('2020-01-24',15),
('2020-01-25',20),('2020-01-26',14),('2020-01-27',16),
('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);

mysql>select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 |   10 |
| 2020-01-02 |   12 |
| 2020-01-03 |   15 |
| 2020-01-04 |   11 |
| 2020-01-05 |   13 |
| 2020-01-06 |    9 |
| 2020-01-07 |   21 |
| 2020-01-08 |   10 |
| 2020-01-09 |   10 |
| ...        |   ...|
+------------+------+

मान लें कि आप सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करना चाहते हैं, यहां समय के साथ प्रतिशत परिवर्तन के लिए SQL है।

mysql> select week, 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 week, sum(sale) sale
            from   (select week(order_date) as week,sum(sale) as sale
                    from sales group by week(order_date)) weekly_sales
            group by week) y;
+------+------+-------------+---------------------+
| week | sale | growth rate | @last_entry := sale |
+------+------+-------------+---------------------+
|    0 |   48 |           0 |                  48 |
|    1 |   81 |       68.75 |                  81 |
|    2 |   95 |       17.28 |                  95 |
|    3 |  111 |       16.84 |                 111 |
|    4 |   73 |      -34.23 |                  73 |
+------+------+-------------+---------------------+

उपरोक्त क्वेरी में, हम पहले दैनिक बिक्री को साप्ताहिक बिक्री में जोड़ते हैं (बोल्ड . में) )और फिर सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के लिए पिछली क्वेरी का उपयोग करें।

बोनस पढ़ें : MySQL में एक कॉलम के प्रतिशत की गणना कैसे करें

यदि आप अपनी क्वेरी के लिए उपयोग किए गए डेटा को फ़िल्टर करना चाहते हैं, तो आप अपनी क्वेरी में WHERE क्लॉज़ जोड़ सकते हैं जैसा कि नीचे दिखाया गया है

mysql> select week, 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 week, sum(sale) sale
            from   (select week(order_date) as week,sum(sale) as sale
                    from sales 
                    WHERE condition
                    group by week(order_date)) weekly_sales
            group by week) y;

कृपया ध्यान दें, चूंकि सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना एक अस्थायी चर में पिछली पंक्ति के मान को संग्रहीत करने पर निर्भर करती है, कृपया सुनिश्चित करें कि आपकी तालिका पहले से ही सप्ताह की संख्या के आरोही क्रम में क्रमबद्ध है। नहीं तो यह गलत परिणाम दे सकता है।

सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के बाद, आप बार चार्ट में परिणाम को प्लॉट करने के लिए चार्टिंग टूल का उपयोग कर सकते हैं और इसे अपनी टीम के साथ साझा कर सकते हैं। यहां बार चार्ट का एक उदाहरण दिया गया है जो 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. Oracle और MySQL से प्रतिकृति समाधान की तुलना करना

  2. MySQL एक तालिका से सभी स्तंभों का चयन करें और कुछ अन्य तालिका से चुनें

  3. MySQL में संख्यात्मक रूप से varchar फ़ील्ड को सॉर्ट करना

  4. MySQL 5.6 . में रूट पासवर्ड रीसेट करना

  5. MySQL पूर्णांक फ़ील्ड PHP में स्ट्रिंग के रूप में लौटाया जाता है