हिस्टोग्राम आपको डेटा विश्लेषण और रिपोर्टिंग में आवृत्ति वितरण की कल्पना करने में मदद करते हैं, और जल्दी से अंतर्दृष्टि प्राप्त करते हैं। यहाँ PostgreSQL में हिस्टोग्राम बनाने का तरीका बताया गया है। हम PostgreSQL में फ़्रीक्वेंसी डिस्ट्रीब्यूशन प्राप्त करने के कुछ अलग-अलग तरीकों को देखेंगे।
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',250),
('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 | 250
2020-04-07 | 215
2020-04-08 | 300
2020-04-09 | 250
बोनस पढ़ें :PostgreSQL में उपयोगकर्ता बनाएं
PostgreSQL में हिस्टोग्राम बनाएं
PostgreSQL में हिस्टोग्राम बनाने के लिए कई PostgreSQL हिस्टोग्राम क्वेरीज़ हैं। हम उनमें से प्रत्येक को देखेंगे।
PostgreSQL में हिस्टोग्राम बनाने का सबसे आसान तरीका
अगर आप चाहते हैं कि PostgreSQL हिस्टोग्राम बिन में बराबर अंतराल (10-20, 20-30, 30-40, आदि) हों तो PostgreSQL में आवृत्ति वितरण बनाने के लिए यहां SQL क्वेरी है।
postgres=# select floor(sale/10)*10 as bin_floor, count(*)
from sales
group by 1
order by 1;
+-----------+----------+
| bin_floor | count(*) |
+-----------+----------+
| 120 | 1 |
| 150 | 1 |
| 200 | 1 |
| 210 | 2 |
| 220 | 1 |
| 230 | 1 |
| 250 | 2 |
| 300 | 1 |
+-----------+----------+
उपरोक्त क्वेरी में, हम प्रत्येक बिक्री मूल्य को हिस्टोग्राम बिन आकार से विभाजित करके बिन संख्या की गणना करते हैं, यानी 10. यदि आप बिन आकार को 25 में बदलना चाहते हैं, तो floor(sale/10) बदलें। मजबूत> )*10 से मंजिल(बिक्री/25 . तक )*25
बोनस पढ़ें :PostgreSQL ड्रॉप व्यू
postgres=# select floor(sale/25)*25 as bin_floor, count(*)
from sales
group by 1
order by 1;
+-----------+----------+
| bin_floor | count(*) |
+-----------+----------+
| 125 | 1 |
| 150 | 1 |
| 200 | 4 |
| 225 | 1 |
| 250 | 2 |
| 300 | 1 |
+-----------+----------+
उपरोक्त विधि का लाभ यह है कि यह डेटा को जोड़ने/हटाने/संशोधन के आधार पर स्वचालित रूप से डिब्बे को बदल देता है। यह नए डेटा के लिए नए डिब्बे भी बनाता है और/या उनकी गिनती 0 होने पर डिब्बे को हटा देता है। इसलिए यह आपको PostgreSQL में गतिशील रूप से हिस्टोग्राम बनाने की अनुमति देता है।
बोनस पढ़ें :PostgreSQL इंडेक्स बनाएं
PostgreSQL में हिस्टोग्राम बनाने का सबसे लचीला तरीका
यदि आप पहले से ही हिस्टोग्राम डिब्बे बनाने के बारे में जानते हैं या यदि आपके हिस्टोग्राम बकेट का आकार अलग है, तो आप CASE स्टेटमेंट का उपयोग करके आवृत्ति वितरण बना सकते हैं। यहाँ PostgreSQL के लिए हिस्टोग्राम क्वेरी है
postgresql=# select '100-150' as TotalRange,count(sale) as Count from sales
where sale between 100 and 150
union (
select '150-200' as TotalRange,count(sale) as Count from sales
where sale between 150 and 200)
union (
select '200-225' as TotalRange,count(sale) as Count from sales
where sale between 200 and 225)
union (
select '225-250' as TotalRange,count(sale) as Count from sales
where sale between 225 and 250);
+------------+-------+
| TotalRange | Count |
+------------+-------+
| 100-150 | 2 |
| 150-200 | 2 |
| 200-225 | 4 |
| 225-250 | 3 |
+------------+-------+
इस क्वेरी में, हम केस स्टेटमेंट का उपयोग करके प्रत्येक बिक्री मूल्य के लिए बकेट असाइन करते हैं। आप हिस्टोग्राम बकेट को अपनी इच्छानुसार किसी भी श्रेणी में बदल सकते हैं, उन्हें एक समान अंतराल की आवश्यकता नहीं है।
इस क्वेरी के 2 फायदे हैं:
- आप बकेट नाम को अपनी इच्छानुसार किसी भी चीज़ में बदल सकते हैं। उदाहरण के लिए, "100-150" प्रदर्शित करने के बजाय आप इसे "100 और 150 के बीच" के रूप में दिखा सकते हैं
- आपके पास गैर-समान बाल्टी आकार हो सकता है। उदाहरण के लिए, आपके पास 50 के बाल्टी आकार के साथ 100-150 के रूप में एक बाल्टी और 100 के बाल्टी आकार के साथ 150-250 के रूप में एक और बाल्टी हो सकती है।
अपनी आवश्यकता के आधार पर, आप PostgreSQL में हिस्टोग्राम बनाने के लिए उपरोक्त विधियों में से कोई भी चुन सकते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!