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;