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

PostgreSQL में माध्यिका की गणना कैसे करें

माध्यिका की गणना करने से आपको डेटा में मध्य मान खोजने में मदद मिलती है और अत्यधिक मूल्यों के कारण शोर से बचने में मदद मिलती है। यहां बताया गया है कि 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-दिन का निःशुल्क परीक्षण प्रदान करते हैं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में उपयोगकर्ता को सुपरयुसर में कैसे बदलें

  2. रिकॉर्ड के लिए IS NOT NULL टेस्ट वैरिएबल सेट होने पर TRUE नहीं लौटाता है

  3. PostgreSQL में ON CONFLICT के साथ RETURNING का उपयोग कैसे करें?

  4. ~/.psqlrc डीबीए के लिए फ़ाइल

  5. नेस्टेड जॉइन के साथ row_to_json() का उपयोग करना