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

तालिका से अद्वितीय मानों का चयन कैसे करें?

यह क्वेरी करेगी अद्वितीय status_id लौटाएं, लेकिन केवल तभी जब उन status_id और उनमें से प्रत्येक अन्य फ़ील्ड का संयोजन अद्वितीय भी हो। आप अद्वितीय status_id का चयन कर सकते हैं, लेकिन यदि प्रत्येक status_id के लिए एक से अधिक संयोजन हैं, तो आप अन्य फ़ील्ड के सभी मान वापस नहीं कर सकते।

[संपादित करें]

यदि आप प्रत्येक स्थिति के लिए केवल पहला रिकॉर्ड चाहते हैं:

select 
  status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active 
from
  (select 
    row_number() over (partition by status_id order by 1) as number, 
    status_id, schedule_id, cassay_id, time_of_day, days, notify_to_addresses, active 
  FROM ordertest)
where
  number = 1

row_number . के बजाय , dense_rank और rank विभिन्न प्रकार के नंबरिंग के लिए भी उपयोग किया जाता है, लेकिन इस मामले में आप वास्तव में एक ही पंक्ति चाहते हैं, और row_number पर्याप्त होगा।

सुनिश्चित नहीं हैं order by अनिवार्य है। यदि नहीं, तो आप इसे छोड़ सकते हैं। यदि ऐसा है, तो आप एक डमी मान निर्दिष्ट कर सकते हैं या एक विशिष्ट फ़ील्ड निर्दिष्ट कर सकते हैं जिसे आप 'पहली पंक्ति' के रूप में उपयोग करना चाहते हैं। उदाहरण के लिए, order by schedule_id में तेजी लाएं प्रत्येक status_id के लिए न्यूनतम शेड्यूल_आईडी वापस करने के लिए।



  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. Oracle फास्ट रिकवरी एरिया

  3. कॉमा को कॉमा स्पेस और सिंगल कोट से बदलने के लिए RTRIM या REGEXP_REPLACE का उपयोग करना

  4. लिनक्स पर SQL सर्वर 2016

  5. oracle java class में system.out.println आउटपुट कहाँ जाता है?