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

कैसे PostgreSQL में श्रेणी के आधार पर अधिकतम तिथि समूह के साथ आईडी का चयन करने के लिए?

यह DISTINCT ON . के लिए एकदम सही उपयोग-मामला है - मानक DISTINCT . के विशिष्ट एक्सटेंशन को पोस्टग्रेज़ करता है :

SELECT DISTINCT ON (category)
       id  -- , category, date  -- any other column (expression) from the same row
FROM   tbl
ORDER  BY category, date DESC;

अवरोही क्रम के साथ सावधान। यदि कॉलम NULL हो सकता है, तो आप NULLS LAST जोड़ना चाह सकते हैं :

  • कॉलम ASC के अनुसार क्रमित करें, लेकिन NULL मान पहले?

DISTINCT ON सरल और तेज है। इस संबंधित उत्तर में विस्तृत विवरण:

  • समूह द्वारा प्रत्येक समूह में पहली पंक्ति का चयन करें?

कई पंक्तियों वाली बड़ी तालिकाओं के लिए category एक वैकल्पिक दृष्टिकोण पर विचार करें:

  • प्रति उपयोगकर्ता नवीनतम पंक्ति पुनर्प्राप्त करने के लिए क्वेरी द्वारा GROUP को अनुकूलित करें
  • समूहवार अधिकतम क्वेरी अनुकूलित करें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रोमेथियस के साथ अपने पोस्टग्रेएसक्यूएल मॉनिटरिंग को निजीकृत करने का एक नया तरीका

  2. इंडेक्स स्कैन ज्यादा बेहतर विकल्प होने पर इंडेक्स का उपयोग नहीं करना पोस्टग्रेस

  3. इसके कारण:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg/postgresql/core/Encoding;

  4. psycopg2.OperationalError:FATAL:असमर्थित फ्रंटएंड प्रोटोकॉल 1234.5679:सर्वर 2.0 से 3.0 का समर्थन करता है

  5. PostgreSQL में Arrays की तुलना कैसे करें