PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

किसी अन्य चयन से लौटाई गई पंक्तियों की संख्या के आधार पर ऑर्डर करने की क्वेरी

ऐसा करने का पोस्टग्रेज़ तरीका:

SELECT *
FROM   users u
LEFT   JOIN (
   SELECT user_id, count(*) AS friends
   FROM   friends
   ) f USING (user_id)
ORDER  BY f.friends DESC NULLS LAST, user_id  -- as tiebreaker
  • कीवर्ड AS टेबल उपनाम के लिए सिर्फ शोर है। लेकिन इसे कॉलम उपनामों से न छोड़ें। "ऑमिटिंग द एएस की वर्ड" पर मैनुअल:

    <ब्लॉककोट>

    FROM . में आइटम, मानक और PostgreSQL दोनों AS . की अनुमति देते हैं एक अनारक्षित कीवर्ड के उपनाम से पहले छोड़े जाने के लिए। लेकिन यह वाक्यात्मक अस्पष्टताओं के कारण आउटपुट कॉलम नामों के लिए अव्यावहारिक है

    बोल्ड जोर मेरा।

  • ISNULL() MySQL या SQL सर्वर का एक कस्टम एक्सटेंशन है। Postgres SQL-मानक फ़ंक्शन का उपयोग करता है COALESCE() . लेकिन आपको यहां भी जरूरत नहीं है। NULLS LAST का उपयोग करें इसके बजाय क्लॉज, जो तेज और क्लीनर है। देखें:

    • डेटाटाइम एएससी द्वारा पोस्टग्रेएसक्यूएल सॉर्ट करें, पहले शून्य?
  • एकाधिक उपयोगकर्ताओं के मित्रों की संख्या समान होगी। इन साथियों को मनमाने ढंग से क्रमबद्ध किया जाएगा। बार-बार निष्पादन से भिन्न प्रकार का क्रम प्राप्त हो सकता है, जो आमतौर पर वांछनीय नहीं है। ORDER BY . में और भाव जोड़ें टाईब्रेकर के रूप में। अंततः, प्राथमिक कुंजी किसी भी शेष अस्पष्टता का समाधान करती है।

  • यदि दो तालिकाओं का एक ही कॉलम नाम user_id share है (जैसे उन्हें चाहिए) आप सिंटैक्स शॉर्टकट का उपयोग कर सकते हैं USING ज्वाइन क्लॉज में। एक और मानक SQL सुविधा। स्वागत दुष्प्रभाव:user_id SELECT * . के आउटपुट में केवल एक बार सूचीबद्ध होता है , ON . के साथ शामिल होने के विरोध में . कई क्लाइंट आउटपुट में डुप्लीकेट कॉलम नाम भी स्वीकार नहीं करेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं Postgres में मॉड्यूल कैसे आयात करूं या एक्सटेंशन कैसे स्थापित करूं?

  2. विंडोज में PostgreSQL कंप्रेस्ड आर्काइव लॉग्स

  3. पोस्टग्रेज उबंटू के लिए पीडीओ स्थापित करें

  4. पासवर्ड के बिना psql कमांड के साथ बैच फ़ाइल चलाएँ

  5. कैसे date_trunc () PostgreSQL में काम करता है