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

ओरेकल में डुप्लिकेट पंक्तियों के लिए सभी डेटा देखें

आप हमेशा GROUP BY . का उपयोग कर सकते हैं / HAVING IN खंड में क्वेरी। यह काम करता है और अपेक्षाकृत सरल है लेकिन यह विशेष रूप से कुशल नहीं हो सकता है यदि डुप्लिकेट पंक्तियों की संख्या अपेक्षाकृत बड़ी है।

SELECT *
  FROM table1
 WHERE (name, type_id) IN (SELECT name, type_id
                             FROM table1
                            GROUP BY name, type_id
                           HAVING COUNT(*) > 1)

तालिका में दूसरी बार टकराने से बचने के लिए विश्लेषणात्मक कार्यों का उपयोग करना आम तौर पर अधिक कुशल होगा।

SELECT *
  FROM (SELECT id, 
               name,
               type_id,
               code,
               lat,
               long,
               count(*) over (partition by name, type_id) cnt
          FROM table1)
 WHERE cnt > 1

आप डेटा के साथ क्या करने की योजना बना रहे हैं और किसी विशेष पंक्ति के कितने डुप्लिकेट हो सकते हैं, इस पर निर्भर करते हुए, आप table1 में भी शामिल होना चाह सकते हैं डेटा को एक ही पंक्ति में प्राप्त करने के लिए

SELECT a.name,
       a.type_id,
       a.id,
       b.id,
       a.code,
       b.code,
       a.lat,
       b.lat,
       a.long,
       b.long
  FROM table1 a
       JOIN table1 b ON (a.name = b.name AND
                         a.type_id = b.type_id AND
                         a.rowid > b.rowid)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL डेवलपर में क्वेरी निष्पादन समय कैसे खोजें?

  2. SQL डेवलपर में CSV…

  3. क्या इंडेक्स के लिए अलग-अलग टेबलस्पेस होने का कोई तार्किक कारण है?

  4. एकाधिक स्तंभ स्थिति के साथ Oracle चयन रिकॉर्ड

  5. त्रुटि तर्क प्राप्त करना '0' सीमा से बाहर है