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

PostgreSQL एग्रीगेट या विंडो फ़ंक्शन केवल अंतिम मान लौटाता है

DISTINCT प्लस विंडो फ़ंक्शन

एक DISTINCT जोड़ें खंड:

SELECT DISTINCT a
     , last_value(b) OVER (PARTITION BY a ORDER BY b
                           RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM  (
   VALUES
     (1, 'do not want this')
    ,(1, 'just want this')
   ) sub(a, b);

DISTINCT . के बारे में अधिक जानकारी :

DISTINCT ON

PostgreSQL में SQL मानक का यह एक्सटेंशन भी है:

SELECT DISTINCT ON (a)
       a, b
FROM  (
   VALUES
     (1, 'do not want this')
   , (1, 'just want this')
   ) sub(a, b)
ORDER  BY a, b DESC;

DISTINCT ON . के बारे में अधिक जानकारी और संभवतः तेज़ विकल्प:

सादे समुच्चय के साथ साधारण मामला

अगर आपका मामला वास्तव में आपके डेमो जितना सरल है (और आपको उस अंतिम पंक्ति से अतिरिक्त कॉलम की आवश्यकता नहीं है), एक सादा समग्र कार्य सरल होगा:

SELECT a, max(b)
FROM  (
   VALUES
     (1, 'do not want this')
   , (1, 'just want this')
   ) sub(a, b)
GROUP  BY a;


  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. pg_escape_string वास्तव में क्या करता है?

  3. क्रिएट व्यू कॉलम की तुलना में अधिक कॉलम नाम निर्दिष्ट करता है

  4. क्लॉज के साथ परिकलित कॉलम को लागू करने का तरीका पोस्ट करता है

  5. MDB2 के साथ PHP में SQL इंजेक्शन को रोकना