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

एक समूह-दर से SQL दो मानदंड

यह मौलिक रूप से सरल . हो सकता है :

SELECT DISTINCT ON (b, c, e, f)
       b, c, e, f, id   -- add more columns freely
FROM   (<duplicate query here>) sub
ORDER  BY b, c, e, f, (a IS NOT NULL), id
  • आपकी डुप्लीकेट क्वेरी में सभी कॉलम हैं। JOIN . की कोई आवश्यकता नहीं है फिर से आधार तालिका में।

  • मानक SQL DISTINCT . के पोस्टग्रेज़ एक्सटेंशन का उपयोग करें :DISTINCT ON :

  • Postgres में एक उचित बूलियन प्रकार है। आप ORDER BY कर सकते हैं सीधे बूलियन अभिव्यक्ति। अनुक्रम FALSE . है (0), TRUE (1), NULL (शून्य)। यदि a NULL है, तो यह व्यंजक FALSE है और पहले सॉर्ट करें:(a IS NOT NULL) . बाकी का आदेश id . द्वारा दिया गया है . वोइला।

  • ID . का चयन स्वतः होता है। अपने विवरण के अनुसार आप इस क्वेरी में चयनित पंक्ति की आईडी चाहते हैं। करने के लिए और कुछ नहीं।

  • आप शायद इसे सीधे अपनी डुप्लीकेट क्वेरी में एकीकृत कर सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pg_dump सीरियल डेटाटाइप मुद्दे

  2. PostgreSQL परिणाम को कैसे समतल करें

  3. केवल SQL का उपयोग करके पूर्व-अद्यतन स्तंभ मान लौटाएं

  4. Postgresql में संचयी कुल की गणना करें

  5. PostgreSQL - INNER एक LIMIT के साथ दो तालिकाओं में शामिल हों