केवल एक (या n) कॉलम पर अलग करने के लिए:
select distinct on (name)
name, col1, col2
from names
यह नाम वाली किसी भी पंक्ति को वापस कर देगा। यदि आप नियंत्रित करना चाहते हैं कि कौन सी पंक्तियाँ लौटाई जाएँगी तो आपको ऑर्डर करने की आवश्यकता होगी:
select distinct on (name)
name, col1, col2
from names
order by name, col1
col1 द्वारा आदेश दिए जाने पर पहली पंक्ति लौटाएगा।
distinct on
:
SELECT DISTINCT ON (अभिव्यक्ति [,...] ) पंक्तियों के प्रत्येक सेट की केवल पहली पंक्ति रखता है जहाँ दिए गए भाव का मूल्यांकन बराबर होता है। अभिव्यक्तियों पर DISTINCT की व्याख्या उसी नियमों का उपयोग करके की जाती है जैसे ORDER BY (ऊपर देखें)। ध्यान दें कि प्रत्येक सेट की "पहली पंक्ति" अप्रत्याशित है जब तक कि यह सुनिश्चित करने के लिए ORDER BY का उपयोग नहीं किया जाता है कि वांछित पंक्ति पहले दिखाई देती है।
व्यंजकों पर DISTINCT अभिव्यक्ति (अभिव्यक्तियों) द्वारा सबसे बाईं ओर के ORDER से मेल खाना चाहिए। ORDER BY क्लॉज में आम तौर पर अतिरिक्त एक्सप्रेशन होंगे जो समूह पर प्रत्येक DISTINCT के भीतर पंक्तियों की वांछित प्राथमिकता निर्धारित करते हैं।