माध्यिका की गणना करने से आपको डेटा में मध्य मान खोजने में मदद मिलती है और अत्यधिक मूल्यों के कारण शोर से बचने में मदद मिलती है। यहां बताया गया है कि percentile_cont . का उपयोग करके PostgreSQL में माध्यिका की गणना कैसे करें चूंकि PostgreSQL में माध्यिका की गणना करने के लिए कोई फ़ंक्शन नहीं है
PostgreSQL में माध्यिका की गणना कैसे करें
हम 50वें प्रतिशतक मान की गणना करके PostgreSQL में माध्यिका की गणना करेंगे, क्योंकि PostgreSQL में माध्यिका की गणना करने के लिए कोई अंतर्निहित फ़ंक्शन नहीं है।
मान लें कि आपके पास निम्न तालिका है बिक्री(order_date, राशि)
postgres=# create table sales(order_date date,sale int);
postgres=# insert into sales values('2020-04-01',210),
('2020-04-02',125),('2020-04-03',150),('2020-04-04',230),
('2020-04-05',200),('2020-04-10',220),('2020-04-06',25),
('2020-04-07',215),('2020-04-08',300),('2020-04-09',250);
postgres=# select * from sales;
order_date | sale
------------+------
2020-04-01 | 210
2020-04-02 | 125
2020-04-03 | 150
2020-04-04 | 230
2020-04-05 | 200
2020-04-10 | 220
2020-04-06 | 25
2020-04-07 | 215
2020-04-08 | 300
2020-04-09 | 250
बोनस पढ़ें :PostgreSQL में मूविंग एवरेज की गणना कैसे करें
यहां माध्यिका खोजने की क्वेरी है, यानी PostgreSQL में 50वें प्रतिशतक की गणना करें।
postgres=# SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY sale) FROM sales;
percentile_cont
-----------------
212.5
उपरोक्त क्वेरी में, हम percentile_cont . का उपयोग करते हैं फ़ंक्शन जो आपको यह परिभाषित करने की अनुमति देता है कि आप किस पर्सेंटाइल (जैसे 0.5 यानी 50वां पर्सेंटाइल) की गणना करना चाहते हैं। फिर हम बिक्री के समूह के भीतर पर्सेंटाइल की गणना करने के लिए PostgreSQL को बताने के लिए WITHIN GROUP क्लॉज़ का भी उपयोग करते हैं मूल्य। हम पोस्टग्रेएसक्यूएल को बिक्री . को सॉर्ट करने के लिए कहने के लिए ORDER BY क्लॉज का भी उपयोग करते हैं माध्यिका की गणना करने से पहले मान।
जब आप percentile_cont . का उपयोग करते हैं , PostgreSQL 2 मध्य मानों (210,215) के औसत के रूप में माध्यिका मान को प्रक्षेपित करेगा।
बोनस पढ़ें :PostgreSQL तालिका में CSV फ़ाइल कैसे आयात करें
यदि आप नहीं चाहते कि PostgreSQL इंटरपोलेट करे, लेकिन केवल निकटतम मान लौटाए, तो percentile_disc का उपयोग करें बजाय। यहां एक उदाहरण दिया गया है
postgres=# SELECT PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY sale) FROM sales;
percentile_disc
-----------------
210
यदि आप प्रत्येक समूह के लिए PostgreSQL में माध्यिका की गणना करना चाहते हैं, तो GROUP BY क्लॉज का उपयोग करें जैसा कि नीचे दिखाया गया है। मान लें कि आपकी बिक्री तालिका में उत्पाद भी शामिल है उत्पाद के नाम के साथ कॉलम। उस स्थिति में, आप निम्न क्वेरी का उपयोग करके प्रत्येक उत्पाद के लिए माध्यिका की गणना कर सकते हैं।
postgres=# SELECT PRODUCT, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY sale) FROM sales GROUP BY PRODUCT;
बोनस पढ़ें :PostgreSQL में महीने दर महीने वृद्धि की गणना कैसे करें
PostgreSQL में माध्यिका की गणना करने के बाद, आप अंतर का विश्लेषण करने के लिए एक लाइन चार्ट पर बिक्री मूल्यों के साथ-साथ माध्य मानों को प्लॉट करने के लिए PostgreSQL रिपोर्टिंग टूल का उपयोग कर सकते हैं। उसके लिए हम परिकलित माध्य मान को मूल बिक्री . के साथ जोड़ देंगे तालिका जैसा कि नीचे दिखाया गया है
postgres=# select * from sales, (SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY sale) FROM sales) temp order by order_date; order_date | sale | percentile_cont ------------+------+----------------- 2020-04-01 | 210 | 212.5 2020-04-02 | 125 | 212.5 2020-04-03 | 150 | 212.5 2020-04-04 | 230 | 212.5 2020-04-05 | 200 | 212.5 2020-04-06 | 25 | 212.5 2020-04-07 | 215 | 212.5 2020-04-08 | 300 | 212.5 2020-04-09 | 250 | 212.5 2020-04-10 | 220 | 212.5
यहां एक लाइन चार्ट है जो यूबिक का उपयोग करके प्लॉट किए गए माध्यिका के साथ दैनिक बिक्री दिखाता है

यदि आप PostgreSQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq को आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।