PostgreSQL आपको रैंकिंग, रिपोर्टिंग और डेटा विश्लेषण के लिए अपने डेटा के लिए विशिष्ट पंक्ति संख्या प्राप्त करने की अनुमति देता है। यहां बताया गया है कि PostgreSQL में पंक्ति संख्या कैसे प्राप्त करें। आप PostgreSQL में पंक्ति Id के आधार पर आगे के विश्लेषण के लिए इसका उपयोग कर सकते हैं।
PostgreSQL में पंक्ति संख्या कैसे प्राप्त करें
यहां बताया गया है कि PostgreSQL में विशिष्ट पंक्ति संख्या कैसे प्राप्त करें। हम देखेंगे कि PostgreSQL 8.4+ में उपलब्ध ROW_NUMBER() विंडो फ़ंक्शन के साथ-साथ PostgreSQL <8.4 के लिए सादे SQL का उपयोग करके पंक्ति संख्या कैसे प्राप्त करें।
मान लें कि आपके पास निम्न तालिका है बिक्री(order_date,sale)
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 में पर्सेंटाइल की गणना कैसे करें
ROW_NUMBER() का उपयोग करके PostgreSQL में पंक्ति संख्या कैसे प्राप्त करें
PostgreSQL 8.4 के बाद से, आप ROW_NUMBER() फ़ंक्शन का उपयोग करके PostgreSQL में आसानी से पंक्ति संख्या दिखा सकते हैं। यहाँ PostgreSQL में पंक्ति आईडी प्राप्त करने के लिए SQL क्वेरी है।
postgres=# select row_number() over(), *
from sales;
row_number | order_date | sale
------------+------------+------
1 | 2020-04-01 | 210
2 | 2020-04-02 | 125
3 | 2020-04-03 | 150
4 | 2020-04-04 | 230
5 | 2020-04-05 | 200
6 | 2020-04-10 | 220
7 | 2020-04-06 | 25
8 | 2020-04-07 | 215
9 | 2020-04-08 | 300
10 | 2020-04-09 | 250
उपरोक्त SQL क्वेरी में, हम प्रत्येक पंक्ति के लिए पंक्ति संख्या उत्पन्न करने के लिए row_number() विंडो फ़ंक्शन का उपयोग करते हैं। हम बिना किसी क्रम के सभी पंक्तियों के लिए पंक्ति संख्या प्रदर्शित करने के लिए PostgreSQL को बताने के लिए over() का भी उपयोग करते हैं।
बोनस पढ़ें :PostgreSQL में माध्यिका की गणना कैसे करें
यदि आप पंक्ति संख्या उत्पन्न करने से पहले पंक्तियों को क्रमित करना चाहते हैं, तो आप OVER() में खंड द्वारा एक आदेश जोड़ सकते हैं, जैसा कि नीचे दिखाया गया है
postgres=# select row_number() over(order by sale), *
from sales;
row_number | order_date | sale
------------+------------+------
1 | 2020-04-06 | 25
2 | 2020-04-02 | 125
3 | 2020-04-03 | 150
4 | 2020-04-05 | 200
5 | 2020-04-01 | 210
6 | 2020-04-07 | 215
7 | 2020-04-10 | 220
8 | 2020-04-04 | 230
9 | 2020-04-09 | 250
10 | 2020-04-08 | 300
आप ROW_NUMBER या OVER() विंडो फ़ंक्शंस में WHERE क्लॉज़ का उपयोग नहीं कर सकते। इसलिए यदि आप पंक्ति संख्या उत्पन्न करने से पहले डेटा को फ़िल्टर करना चाहते हैं, तो आपको एक सबक्वेरी में WHERE कारण का उपयोग करने की आवश्यकता है, जैसा कि नीचे दिखाया गया है
postgres=# select row_number() over(order by sale), *
from ( select * from sales where sale>100) filtered_sales;
row_number | order_date | sale
------------+------------+------
1 | 2020-04-02 | 125
2 | 2020-04-03 | 150
3 | 2020-04-05 | 200
4 | 2020-04-01 | 210
5 | 2020-04-07 | 215
6 | 2020-04-10 | 220
7 | 2020-04-04 | 230
8 | 2020-04-09 | 250
9 | 2020-04-08 | 300
आप Generate_series का उपयोग करके PostgreSQL में पंक्ति संख्या भी प्राप्त कर सकते हैं। हालांकि, यह सलाह दी जाती है कि generate_series . का उपयोग करके पंक्ति आईडी उत्पन्न न करें चूंकि यह मापनीय नहीं है।
बोनस पढ़ें :Generate_series का उपयोग करके PostgreSQL में गुम तिथियों को कैसे भरें
ROW_NUMBER() के बिना PostgreSQL (<8.4) में पंक्ति संख्या कैसे प्राप्त करें
यदि आप PostgreSQL <8.4 का उपयोग करते हैं, तो row_number() हो सकता है कि इसमें विंडो फंक्शन उपलब्ध न हो। उस स्थिति में, आपको सेल्फ-जॉइन की मदद से PostgreSQL में पंक्ति संख्या प्राप्त करनी होगी। इसके लिए यह प्रश्न है।
postgres=# SELECT count(*) rownum, foo.*
FROM sales foo
JOIN sales bar
ON (foo.order_date <= bar.order_date)
GROUP BY foo.order_date, foo.sale
ORDER BY rownum
;
rownum | order_date | sale
--------+------------+------
1 | 2020-04-10 | 220
2 | 2020-04-09 | 250
3 | 2020-04-08 | 300
4 | 2020-04-07 | 215
5 | 2020-04-06 | 25
6 | 2020-04-05 | 200
7 | 2020-04-04 | 230
8 | 2020-04-03 | 150
9 | 2020-04-02 | 125
10 | 2020-04-01 | 210
PostgreSQL में पंक्ति संख्या प्राप्त करने के बाद, आप नीचे दिखाए गए तालिका में अपने डेटा की रिपोर्ट करने और अपनी टीम के साथ साझा करने के लिए PostgreSQL रिपोर्टिंग टूल का उपयोग कर सकते हैं।

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