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

PostgreSQL क्वेरी में अलग-अलग टुपल्स कैसे ऑर्डर करें

सबसे बाईं ओर इसके द्वारा ऑर्डर करें आइटम DISTINCT . के आइटम से असहमत नहीं हो सकते खंड। मैं मैनुअल को DISTINCT :

कोशिश करें:

SELECT *
FROM  (
    SELECT DISTINCT ON (c.cluster_id, feed_id) 
           c.cluster_id, num_docs, feed_id, url_time 
    FROM   url_info u
    JOIN   cluster_info c ON (c.cluster_id = u.cluster_id) 
    WHERE  feed_id IN (SELECT pot_seeder FROM potentials) 
    AND    num_docs > 5
    AND    url_time > '2012-04-16'
    ORDER  BY c.cluster_id, feed_id, num_docs, url_time
           -- first columns match DISTINCT
           -- the rest to pick certain values for dupes
           -- or did you want to pick random values for dupes?
    ) x
ORDER  BY num_docs DESC;

या GROUP BY . का उपयोग करें :

SELECT c.cluster_id
     , num_docs
     , feed_id
     , url_time 
FROM   url_info u
JOIN   cluster_info c ON (c.cluster_id = u.cluster_id) 
WHERE  feed_id IN (SELECT pot_seeder FROM potentials) 
AND    num_docs > 5
AND    url_time > '2012-04-16'
GROUP  BY c.cluster_id, feed_id 
ORDER  BY num_docs DESC;

अगर c.c.cluster_id, Feed_id सभी (इस मामले में दोनों) तालिकाओं के प्राथमिक कुंजी स्तंभ हैं जिन्हें आप SELECT में से स्तंभ शामिल करते हैं सूची, तो यह सिर्फ PostgreSQL के साथ काम करता है 9.1 या बाद में।

नहीं तो आपको GROUP BY करना होगा शेष कॉलम या कुल या अधिक जानकारी प्रदान करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PSQLException:त्रुटि:कॉलम में शून्य मान शून्य-शून्य बाधा का उल्लंघन नहीं करता है

  2. दूरी की गणना करने के लिए पोस्टगिस के साथ पोस्टग्रेएसक्यूएल को कैसे कॉन्फ़िगर करें

  3. Redshift में पंक्तियों को विभाजित करना

  4. AWS RDS समस्या को कैसे हल करें:psycopg2.OperationalError:FATAL:उपयोगकर्ता रूट के लिए पासवर्ड प्रमाणीकरण विफल

  5. रेल 3.1। Heroku PGError:ऑपरेटर मौजूद नहीं है:वर्ण भिन्न =पूर्णांक