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

महीने के हिसाब से उत्पाद की बिक्री की तुलना करने के लिए SQL क्वेरी

कई बार, आपको यह निर्धारित करने के लिए कि वे कैसे कर रहे हैं, महीने के हिसाब से उत्पाद की बिक्री की तुलना करने की आवश्यकता होगी। यदि आपका डेटा MySQL/PostgreSQL/SQL सर्वर डेटाबेस में संग्रहीत है, तो महीने के आधार पर उत्पाद बिक्री की तुलना करने के लिए यहां एक SQL क्वेरी है।

एसक्यूएल क्वेरी महीने तक उत्पाद बिक्री की तुलना करने के लिए

मान लें कि आपके पास एक तालिका है बिक्री(order_date, उत्पाद, बिक्री) जिसमें आपके सभी उत्पादों की दैनिक बिक्री शामिल है।

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

mysql> insert into sales values('Pen','2020-01-01',20),('Paper','2020-01-02',25),
('Paper','2020-01-03',15),('Pen','2020-01-04',30),('Paper','2020-01-05',20)
...;

mysql> select * from sales;
+---------+------------+------+
| product | order_date | sale |
+---------+------------+------+
| Pen     | 2020-01-01 |   20 |
| Paper   | 2020-01-02 |   25 |
| Paper   | 2020-01-03 |   15 |
| Pen     | 2020-01-04 |   30 |
| Pen     | 2020-01-05 |   20 |
| ...     | ...        |   ...|
+---------+------------+------+

SQL क्वेरी महीने के हिसाब से उत्पाद की बिक्री की तुलना करने के लिए

ज्यादातर मामलों में, आपके पास अपने सभी उत्पादों के लिए अलग-अलग कॉलम के बजाय, अलग-अलग पंक्तियों में एक के नीचे एक बिक्री पंक्तियाँ होंगी। यदि आप महीने के हिसाब से उत्पाद की बिक्री की तुलना करना चाहते हैं, तो आपको इस डेटा को उत्पाद . के आधार पर पिवट करना होगा कॉलम।

आपकी बिक्री तालिका को उत्पाद . द्वारा पिवट करने की क्वेरी यहां दी गई है कॉलम। हम इसे विस्तार से देखेंगे

mysql> SELECT date_format(order_date,'%b-%y') as order_date,
       sum(IF(product='Pen', sale, NULL)) AS Pen,
       sum(IF(product='Paper', sale, NULL)) AS Paper
       FROM sales
       GROUP BY year(order_date),month(order_date),date_format(order_date,'%b-%y')
       ;
+------------+------+-------+
| order_date | Pen  | Paper |
+------------+------+-------+
| Jan-20     |  200 |   320 |
| Feb-20     |  250 |   220 |
| Mar-20     |  230 |   290 |
| Apr-20     |  190 |   210 |
| May-20     |  210 |   230 |
| Jun-20     |  320 |   120 |
| Jul-20     |  330 |   220 |
| Aug-20     |  210 |   260 |
| Sep-20     |  120 |   220 |
| Oct-20     |  280 |   120 |
| Nov-20     |  290 |   280 |
| Dec-20     |  200 |   320 |
+------------+------+-------+

उपरोक्त क्वेरी में, हम order_date से महीने के नाम प्राप्त करने के लिए DATE_FORMAT फ़ंक्शन का उपयोग करते हैं कॉलम। इसके अलावा हम IF कथन . का उपयोग करते हैं उत्पाद . द्वारा पिवट तालिका बनाने के लिए कॉलम। इस मामले में, प्रत्येक पंक्ति के लिए, IF स्टेटमेंट उत्पाद कॉलम के मूल्य की जांच करेगा और उत्पाद के नाम के आधार पर 'पेन' या 'पेपर' लेबल वाले कॉलम में बिक्री मूल्य जोड़ देगा। हम दैनिक ऑर्डर से, मासिक उत्पाद बिक्री प्राप्त करने के लिए, महीने के नाम से ग्रुप भी करते हैं।

प्रति उत्पाद मासिक बिक्री की गणना करने के बाद, आप चार्टिंग टूल का उपयोग करके इसे लाइन चार्ट पर प्लॉट कर सकते हैं, जैसा कि नीचे दिखाया गया है। Ubiq का उपयोग करके बनाए गए लाइन चार्ट का उदाहरण यहां दिया गया है।

क्या आप जानते हैं कि आप केवल ड्रैग एंड ड्रॉप का उपयोग करके Ubiq में पिवट टेबल बना सकते हैं?

यदि आप MySQL/PostgreSQL/SQL सर्वर डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप 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. DBCC CLONEDATABASE के उपयोग का विस्तार

  2. लिखने योग्य विभाजन में परिवर्तन अप्रत्याशित रूप से विफल हो सकते हैं

  3. वर्चुअल फाइलस्टैट्स क्या करते हैं और क्या नहीं, आपको I/O लेटेंसी के बारे में बताते हैं

  4. SQL डेटा नियंत्रण भाषा

  5. एक भर्ती प्रणाली के लिए एक डेटाबेस डिजाइन करना