कभी-कभी आपको तालिका की अंतिम पंक्ति प्राप्त करने या PostgreSQL में प्रति समूह अंतिम पंक्ति प्राप्त करने की आवश्यकता हो सकती है। यहां बताया गया है कि PostgreSQL में प्रति समूह अंतिम रिकॉर्ड कैसे प्राप्त करें।
तालिका की अंतिम पंक्ति प्राप्त करें
मान लें कि आपके पास निम्न PostgreSQL तालिका है।
postgres=#create table product_sales(product varchar(10), order_date date, sale int); postgres=#insert into product_sales(product, order_date, sale) values('A','2020-05-01 03:00:00',250), ('B','2020-05-01 05:30:00',350), ('C','2020-05-01 07:45:00',1250), ('A','2020-05-02 02:34:00',450), ('B','2020-05-02 01:24:00',650), ('C','2020-05-02 12:34:00',1050), ('A','2020-05-03 04:00:45',150), ('B','2020-05-03 05:45:00',250), ('C','2020-05-03 09:50:00',1850); postgres=# select * from product_sales; product | order_date | sale ---------+---------------------+------ A | 2020-05-01 03:00:00 | 250 B | 2020-05-01 05:30:00 | 350 C | 2020-05-01 07:45:00 | 1250 A | 2020-05-02 02:34:00 | 450 B | 2020-05-02 01:24:00 | 650 C | 2020-05-02 12:34:00 | 1050 A | 2020-05-03 04:00:45 | 150 B | 2020-05-03 05:45:00 | 250 C | 2020-05-03 09:50:00 | 1850
बोनस पढ़ें :PostgreSQL क्रिएट फंक्शन
आपकी पंक्तियों को कैसे क्रमबद्ध किया जाता है, इस पर निर्भर करते हुए, तालिका की अंतिम पंक्ति प्राप्त करने की क्वेरी यहां दी गई है। उपरोक्त उदाहरण में, चूंकि हमारे रिकॉर्ड टाइमस्टैम्प द्वारा जोड़े जाते हैं, हम नवीनतम टाइम स्टैम्प वाली पंक्ति का चयन करते हैं।
postgres=# select * from product_sales order by order_date desc limit 1; product | order_date | sale ---------+---------------------+------ C | 2020-05-03 09:50:00 | 1850
उपरोक्त क्वेरी में, हम टाइमस्टैम्प के अवरोही क्रम में पंक्तियों को क्रमबद्ध करते हैं और LIMIT क्लॉज का उपयोग करके शीर्ष 1 पंक्ति का चयन करते हैं।
बोनस पढ़ें :PostgreSQL स्कीमा बनाएं
प्रति समूह अंतिम रिकॉर्ड प्राप्त करें
प्रति समूह, यानी प्रत्येक उत्पाद की अंतिम पंक्ति प्राप्त करने के लिए यहां SQL क्वेरी है।
postgres=# select distinct on (product) product, order_date, sale from product_sales order by product, order_date desc; product | order_date | sale ---------+---------------------+------ A | 2020-05-03 04:00:45 | 150 B | 2020-05-03 05:45:00 | 250 C | 2020-05-03 09:50:00 | 1850
उपरोक्त क्वेरी में, पहले हम पंक्तियों को उत्पाद . द्वारा क्रमबद्ध करते हैं (आरोही) और order_date (अवरोही)। फिर हम प्रति समूह केवल शीर्ष रिकॉर्ड का चयन करने के लिए DISTINCT ON क्लॉज का उपयोग करते हैं, जो कि प्रति समूह अंतिम रिकॉर्ड के अलावा और कुछ नहीं है।
बोनस पढ़ें :PostgreSQL में हिस्टोग्राम कैसे बनाएं
उम्मीद है, अब आप आसानी से PostgreSQL में प्रति समूह अंतिम पंक्ति प्राप्त कर सकते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!