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

एकाधिक पंक्तियों के लिए द्वारा Postgresql समूह

यह उन सभी पंक्तियों को लौटाता है जहां एक डुप्लिकेट मौजूद है :

SELECT employee_id, leave_date, no_of_days, leave_state
FROM   hr_holidays_by_calendar h
WHERE  EXISTS (
   SELECT -- select list can be empty for EXISTS
   FROM   hr_holidays_by_calendar
   WHERE  employee_id = h.employee_id
   AND    leave_date = h.leave_date
   AND    leave_state <> 'refuse'
   AND    ctid <> h.ctid
   )
AND    leave_state <> 'refuse'
ORDER  BY employee_id, leave_date;

यह स्पष्ट नहीं है कि leave_state <> 'refuse' आवेदन करना चाहिए। आपको आवश्यकताओं को परिभाषित करना होगा। मेरा उदाहरण leave_state = 'refuse' . वाली पंक्तियों को बाहर करता है (और leave_state IS NULL इसके साथ!) पूरी तरह से।

ctid आपकी अज्ञात (अपरिभाषित?) प्राथमिक कुंजी के लिए एक गरीब आदमी का सरोगेट है।

संबंधित:



  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. हाइबरनेट बाइटा पुनर्प्राप्ति समस्या पोस्टग्रेज करता है

  4. SQLAlchemy, PostgreSQL और array_agg:array_agg से आइटम कैसे चुनें?

  5. सेलेक्ट स्टेटमेंट में डायनामिक कॉलम पोस्टग्रेज करता है