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

ORACLE सेलेक्ट डिस्टिंक्ट कई कॉलम लौटाता है और कहाँ

यदि केवल उन 2 कॉलम (नाम और कॉल 1) का चयन करना पर्याप्त है तो आप इसका उपयोग कर सकते हैं:

select 
    distinct x.name, x.col1
  from table_name x
  where x.col1 = 2;

या

select 
    x.name, x.col1
  from table_name x
  where x.col1 = 2
  group by (x.name, x.col1);  

यदि आपको सभी मूल्यों की आवश्यकता है, लेकिन आपको इस बात से कोई आपत्ति नहीं है कि आपके मानदंडों को पूरा करने वाले कई रिकॉर्डों में से कौन सा आपको मिलता है (जैसे डैन 2 2 1 या डैन 2 1 3), तो आप इसका उपयोग कर सकते हैं (यह उन रिकॉर्डों में से पहले को ऑर्डर के आधार पर रिकॉर्ड करेगा मानदंड):

select xx.name, xx.col1, xx.col2, xx.col3
  from (select 
      x.name, x.col1, x.col2, x.col3, dense_rank() over (partition by x.name order by x.name, x.col1, x.col2, x.col3) rnk
    from table_name x
    where x.col1 = 2) xx
  where xx.rnk = 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Io अपवाद:oracle के साथ JDBC कनेक्शन के दौरान रीड कॉल से माइनस वन मिला

  2. पीएल/एसक्यूएल में समानांतर कॉल

  3. पीएल/एसक्यूएल में लूप का उपयोग किए बिना 1 से 10 कैसे प्रिंट करें?

  4. Oracle के लिए घुंघराले ब्रेस एस्केपिंग का उपयोग कैसे करें

  5. गतिविधि डेटा के आधार पर आईडी कॉलम बनाएं