अलग में PostgreSQL: चयन करें, क्रम दें और सीमा निर्धारित करें (उदाहरण)
⚡ स्मार्ट सारांश
अलग में PostgreSQL इसका उपयोग SELECT स्टेटमेंट के साथ डुप्लिकेट पंक्तियों को हटाने और केवल अद्वितीय मानों को वापस करने के लिए किया जाता है। इसमें SELECT सिंटैक्स, SQL शेल और pgAdmin, एकल और एकाधिक कॉलम पर DISTINCT, और DISTINCT बनाम GROUP BY शामिल हैं।
आप SELECT कथन का उपयोग करके तालिका से डेटा पुनः प्राप्त कर सकते हैं।
सिंटेक्स:
SELECT [column names] FROM [table_name]
यहाँ,
- स्तंभों के नाम: उन कॉलमों के नाम जिनका मान आप प्राप्त करना चाहते हैं।
- से: FROM क्लॉज़ SELECT के लिए एक या एक से अधिक स्रोत तालिकाओं को परिभाषित करता है।
- तालिका नाम: उस मौजूदा टेबल का नाम जिससे आप क्वेरी करना चाहते हैं।
इसमें क्या विशिष्टता है? PostgreSQL?
RSI DISTINCT खंड PostgreSQL SELECT स्टेटमेंट के साथ डुप्लिकेट पंक्तियों को परिणाम सेट से हटाने के लिए इसका उपयोग किया जाता है। जब किसी कॉलम में दोहराए गए मान होते हैं, तो SELECT DISTINCT केवल अद्वितीय मान लौटाता है।ping डुप्लिकेट प्रविष्टियों के प्रत्येक समूह के लिए एक ही पंक्ति। यह तब उपयोगी होता है जब आप बिना दोहराव के विशिष्ट प्रविष्टियों की सूची चाहते हैं, जैसे कि अद्वितीय ग्राहक शहर या उत्पाद श्रेणियां।
DISTINCT फ़ंक्शन SELECT स्टेटमेंट में सूचीबद्ध सभी कॉलमों का मूल्यांकन करके यह तय करता है कि कोई पंक्ति अद्वितीय है या नहीं। PostgreSQL इसमें DISTINCT ON फ़ंक्शन भी शामिल है, जो किसी निर्दिष्ट एक्सप्रेशन के प्रत्येक अलग-अलग मान के लिए पहली पंक्ति लौटाता है। आप DISTINCT को ORDER BY के साथ मिलाकर यह नियंत्रित कर सकते हैं कि कौन सी पंक्तियाँ दिखाई देंगी और LIMIT के साथ मिलाकर परिणामों की संख्या सीमित कर सकते हैं।
PostgreSQL SQL शेल में कथन का चयन करें
चरण 1) हमारे पास "ट्यूटोरियल" नाम की एक टेबल है जिसमें "आईडी" और "ट्यूटोरियल_नाम" नाम के दो कॉलम हैं। आइए इसे क्वेरी करें। टेबल में मौजूद डेटा को सूचीबद्ध करने के लिए निम्नलिखित क्वेरी का उपयोग करें:
SELECT id,tutorial_name FROM tutorials;
नोट: जिस टेबल से आप क्वेरी करना चाहते हैं, उस डेटाबेस से कनेक्ट करने के लिए \c कमांड का उपयोग करें। हमारे मामले में, हम गुरु99 डेटाबेस से कनेक्ट हैं।
चरण 2) यदि आप किसी विशेष तालिका के सभी कॉलम देखना चाहते हैं, तो हम तारांकित (*) वाइल्डकार्ड वर्ण का उपयोग कर सकते हैं। इसका अर्थ है कि यह हर संभावना की जाँच करता है और परिणामस्वरूप, यह सभी कॉलम लौटाएगा।
SELECT * FROM tutorials;
यह ट्यूटोरियल तालिका के सभी रिकॉर्ड प्रदर्शित करता है।
चरण 3) आप किसी तालिका में डेटा को किसी विशेष कॉलम के आधार पर क्रमबद्ध करने के लिए ORDER क्लॉज़ का उपयोग कर सकते हैं। ORDER क्लॉज़ डेटा को A से Z क्रम में व्यवस्थित करता है।
SELECT * FROM tutorials ORDER BY id;
आप “ORDER BY” कथन के बाद “DESC” का उपयोग करके Z से A तक सॉर्ट कर सकते हैं।
SELECT * FROM tutorials ORDER BY id DESC;
चरण 4) SELECT DISTINCT में PostgreSQL क्लॉज का उपयोग परिणाम से डुप्लिकेट पंक्तियों को हटाने के लिए किया जा सकता है। यह डुप्लिकेट के प्रत्येक समूह के लिए एक पंक्ति रखता है।
Syntax: SELECT DISTINCT column_1 FROM table_name;
आइए, Postgres में विशिष्ट आईडी मानों का चयन करने के लिए विशिष्ट क्वेरी का उपयोग करते हुए ट्यूटोरियल देखें। PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
चरण 5) आप का उपयोग कर सकते हैं PostgreSQL SELECT क्वेरी द्वारा लौटाए गए रिकॉर्ड की संख्या को सीमित करने के लिए LIMIT क्लॉज़ का उपयोग किया जाता है।
SELECT * FROM tutorials LIMIT 4;
PostgreSQL pgAdmin में चयन कथन
चरण 1) ऑब्जेक्ट ट्री में:
- टेबल पर राइट क्लिक करें।
- स्क्रिप्ट चुनें।
- SELECT SCRIPT पर क्लिक करें।
चरण 2) दाईं ओर के पैनल में:
- आवश्यकता पड़ने पर SELECT क्वेरी को संपादित करें।
- बिजली के आइकन पर क्लिक करें।
- आउटपुट का अवलोकन करें।
एकाधिक स्तंभों पर विशिष्ट
SELECT DISTINCT क्लॉज़ एक से अधिक कॉलम पर भी लागू हो सकता है। जब आप DISTINCT के बाद कई कॉलम सूचीबद्ध करते हैं, PostgreSQL यह उन कॉलमों के संयोजन को एक इकाई के रूप में मानता है और उन पंक्तियों को हटा देता है जहां वह पूरा संयोजन दोहराया गया है।
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
उदाहरण के लिए, ट्यूटोरियल टेबल से tutorial_name और id के अद्वितीय संयोजनों को वापस प्राप्त करने के लिए:
SELECT DISTINCT tutorial_name, id FROM tutorials;
इस स्थिति में, किसी पंक्ति को तभी हटाया जाता है जब tutorial_name और id दोनों किसी दूसरी पंक्ति से मेल खाते हों। यदि दो पंक्तियों का tutorial_name समान हो लेकिन id मान भिन्न हों, तो दोनों को रखा जाता है, क्योंकि संयोजन अभी भी अद्वितीय है। इस व्यवहार को याद रखना महत्वपूर्ण है: DISTINCT कई कॉलम चुने जाने पर किसी एक कॉलम को डुप्लिकेट होने से नहीं रोकता; यह चुने गए सभी कॉलमों को एक साथ डुप्लिकेट होने से रोकता है।
DISTINCT बनाम GROUP BY में PostgreSQL
DISTINCT और GROUP BY दोनों ही डुप्लिकेट मानों को हटा सकते हैं, लेकिन वे अलग-अलग उद्देश्यों की पूर्ति करते हैं:
- DISTINCT यह परिणाम से केवल अद्वितीय पंक्तियों को लौटाता है और तब सबसे अच्छा होता है जब आपको केवल डुप्लिकेट रहित सूची की आवश्यकता होती है।
- समूह द्वारा यह उन पंक्तियों को समूहित करता है जिनमें एक समान मान होता है, ताकि आप COUNT, SUM, या जैसे एग्रीगेट फ़ंक्शन लागू कर सकें। AVG प्रत्येक समूह को।
उदाहरण के लिए, नीचे दिए गए दोनों प्रश्न अद्वितीय आईडी मान लौटाते हैं:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
अद्वितीय मानों की एक साधारण सूची के लिए DISTINCT का उपयोग करें, और जब आपको प्रत्येक समूह के लिए गणना की आवश्यकता हो, जैसे कि यह गिनना कि कितने ट्यूटोरियल प्रत्येक आईडी को साझा करते हैं, तो GROUP BY का उपयोग करें। सरल क्वेरीज़ पर, प्लानर अक्सर दोनों के लिए समान प्रदर्शन देता है, लेकिन जब भी एग्रीगेशन शामिल हो, GROUP BY आवश्यक है।
धोखा की चादर
SELECT [column names] FROM [table_name] [clause]
यहां विभिन्न पैरामीटर दिए गए हैं:
- स्तंभों के नाम: उन कॉलमों के नाम जिनका मान आप प्राप्त करना चाहते हैं।
- से: FROM क्लॉज़ SELECT के लिए एक या एक से अधिक स्रोत तालिकाओं को परिभाषित करता है।
- तालिका नाम: उस मौजूदा टेबल का नाम जिससे आप क्वेरी करना चाहते हैं।
विभिन्न धाराएं इस प्रकार हैं:
| कमानों | विवरण |
|---|---|
| * | यह तालिका की सभी पंक्तियों के लिए रिकॉर्ड प्राप्त करता है। |
| DISTINCT | अलग में PostgreSQL यह आपको परिणामों से डुप्लिकेट हटाने में मदद करता है। |
| द्वारा आदेश | यह कॉलम के आधार पर पंक्तियों को क्रमबद्ध करता है। डिफ़ॉल्ट क्रम आरोही है। अवरोही क्रम में क्रमबद्ध करने के लिए DESC कीवर्ड का उपयोग करें। |
| सीमा | सीमा में PostgreSQL क्वेरी द्वारा लौटाए गए रिकॉर्ड की संख्या को प्रतिबंधित करता है। |









