अलग में PostgreSQL: चयन करें, क्रम दें और सीमा निर्धारित करें (उदाहरण)

⚡ स्मार्ट सारांश

अलग में PostgreSQL इसका उपयोग SELECT स्टेटमेंट के साथ डुप्लिकेट पंक्तियों को हटाने और केवल अद्वितीय मानों को वापस करने के लिए किया जाता है। इसमें SELECT सिंटैक्स, SQL शेल और pgAdmin, एकल और एकाधिक कॉलम पर DISTINCT, और DISTINCT बनाम GROUP BY शामिल हैं।

  • 🔎 चुनते हैं: SELECT column FROM table का उपयोग करके किसी तालिका से कॉलम प्राप्त करें।
  • 🧹 अलग: डुप्लिकेट पंक्तियों को हटा दें और प्रत्येक अद्वितीय मान के लिए एक पंक्ति रखें।
  • द्वारा आदेश: डिफ़ॉल्ट रूप से आरोही क्रम में सॉर्ट करें, या DESC विकल्प का उपयोग करके अवरोही क्रम में सॉर्ट करें।
  • 🔢 LIMIT में: क्वेरी द्वारा लौटाए जाने वाले रिकॉर्ड की संख्या को सीमित करें।
  • उपकरण: इन्हीं क्वेरी को SQL Shell या pgAdmin में चलाएं।

अलग में PostgreSQL

आप 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;

PostgreSQL SQL शेल में कथन का चयन करें

नोट: जिस टेबल से आप क्वेरी करना चाहते हैं, उस डेटाबेस से कनेक्ट करने के लिए \c कमांड का उपयोग करें। हमारे मामले में, हम गुरु99 डेटाबेस से कनेक्ट हैं।

चरण 2) यदि आप किसी विशेष तालिका के सभी कॉलम देखना चाहते हैं, तो हम तारांकित (*) वाइल्डकार्ड वर्ण का उपयोग कर सकते हैं। इसका अर्थ है कि यह हर संभावना की जाँच करता है और परिणामस्वरूप, यह सभी कॉलम लौटाएगा।

SELECT * FROM tutorials;

PostgreSQL SQL शेल में कथन का चयन करें

यह ट्यूटोरियल तालिका के सभी रिकॉर्ड प्रदर्शित करता है।

चरण 3) आप किसी तालिका में डेटा को किसी विशेष कॉलम के आधार पर क्रमबद्ध करने के लिए ORDER क्लॉज़ का उपयोग कर सकते हैं। ORDER क्लॉज़ डेटा को A से Z क्रम में व्यवस्थित करता है।

SELECT * FROM tutorials ORDER BY id;

PostgreSQL SQL शेल में कथन का चयन करें

आप “ORDER BY” कथन के बाद “DESC” का उपयोग करके Z से A तक सॉर्ट कर सकते हैं।

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL SQL शेल में कथन का चयन करें

चरण 4) SELECT DISTINCT में PostgreSQL क्लॉज का उपयोग परिणाम से डुप्लिकेट पंक्तियों को हटाने के लिए किया जा सकता है। यह डुप्लिकेट के प्रत्येक समूह के लिए एक पंक्ति रखता है।

Syntax:
SELECT DISTINCT column_1 FROM table_name;

आइए, Postgres में विशिष्ट आईडी मानों का चयन करने के लिए विशिष्ट क्वेरी का उपयोग करते हुए ट्यूटोरियल देखें। PostgreSQL:

SELECT DISTINCT(id) FROM tutorials;

PostgreSQL SQL शेल में कथन का चयन करें

चरण 5) आप का उपयोग कर सकते हैं PostgreSQL SELECT क्वेरी द्वारा लौटाए गए रिकॉर्ड की संख्या को सीमित करने के लिए LIMIT क्लॉज़ का उपयोग किया जाता है।

SELECT * FROM tutorials LIMIT 4;

PostgreSQL SQL शेल में कथन का चयन करें

PostgreSQL pgAdmin में चयन कथन

चरण 1) ऑब्जेक्ट ट्री में:

  1. टेबल पर राइट क्लिक करें।
  2. स्क्रिप्ट चुनें।
  3. SELECT SCRIPT पर क्लिक करें।

PostgreSQL pgAdmin में चयन कथन

चरण 2) दाईं ओर के पैनल में:

  1. आवश्यकता पड़ने पर SELECT क्वेरी को संपादित करें।
  2. बिजली के आइकन पर क्लिक करें।
  3. आउटपुट का अवलोकन करें।

PostgreSQL pgAdmin में चयन कथन

एकाधिक स्तंभों पर विशिष्ट

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 क्वेरी द्वारा लौटाए गए रिकॉर्ड की संख्या को प्रतिबंधित करता है।

अक्सर पूछे जाने वाले प्रश्न

जी हां। एआई सहायक विवरण को SELECT DISTINCT स्टेटमेंट में बदल सकते हैं, ORDER BY या LIMIT जोड़ सकते हैं और परिणाम की व्याख्या कर सकते हैं। फिर भी, उत्पादन में चलाने से पहले आपको अपने स्कीमा पर क्वेरी का परीक्षण कर लेना चाहिए।

जी हां। एआई उपकरण EXPLAIN ANALYZE से क्वेरी प्लान पढ़ सकते हैं और इंडेक्स सुझा सकते हैं या DISTINCT को GROUP BY के रूप में पुनर्लेखन कर सकते हैं। सुझावों को हमेशा वास्तविक डेटा के साथ सत्यापित करें, क्योंकि प्रदर्शन टेबल के आकार और इंडेक्स पर निर्भर करता है।

DISTINCT सभी चयनित कॉलमों में डुप्लिकेट पंक्तियों को हटा देता है। DISTINCT ON (expression) उस एक्सप्रेशन के प्रत्येक विशिष्ट मान के लिए पहली पंक्ति को रखता है, जिससे आप प्रति समूह एक पंक्ति चुन सकते हैं, जिसे आमतौर पर ORDER BY के साथ जोड़ा जाता है।

बड़ी तालिकाओं पर DISTINCT कमांड धीमी हो सकती है क्योंकि इसमें डुप्लिकेट की तुलना और उन्हें हटाना होता है, जिसके लिए अक्सर सॉर्ट या हैश का उपयोग किया जाता है। उचित इंडेक्स और चयनित कॉलम की संख्या सीमित करने से इसकी लागत कम करने में मदद मिलती है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: