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

मिन टाइमस्टैम्प के आधार पर रिकॉर्ड फ़िल्टर करने के लिए एकत्रीकरण फ़ंक्शन का उपयोग करना

जल्द से जल्द रिकॉर्ड प्राप्त करने और एक ही मानदंड को दो बार टाइप करने से बचने के कई तरीके हैं।

FETCH FIRST ROWS का उपयोग करना (Oracle 12c के रूप में उपलब्ध)

select * 
from abc_customer_details cd
join abc_customers c on c.id = cd.customer_id
where cd.country_code = 'KE'
order by creation_timestamp
fetch first row only;

CTE (क्लॉज के साथ) का उपयोग करना

with cte as
(
  select * 
  from abc_customer_details cd
  join abc_customers c on c.id = cd.customer_id
  where cd.country_code = 'KE'
)
select *
from cte
where (creation_timestamp) = (select min(creation_timestamp) from cte);

विंडो फ़ंक्शन का उपयोग करना

select *
from
(
  select cd.*, c.*, min(creation_timestamp) over () as min_creation_timestamp
  from abc_customer_details cd
  join abc_customers c on c.id = cd.customer_id
  where cd.country_code = 'KE'
)
where creation_timestamp = min_creation_timestamp;

(वैसे, मैंने इन सभी प्रश्नों में शामिल होने के मानदंड को बदल दिया है। ऐसा लगता है कि आप abc_customer_details.id = abc_customers.customer_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. Oracle क्लाइंट ORA-12541:TNS:कोई श्रोता नहीं

  2. अद्यतन के लिए और अद्यतन के लिए के बीच अंतर

  3. Oracle PL/SQL तालिका प्रकार का TO_CHAR

  4. 'आवश्यकता' अनुमतियों के मुद्दे पर OCIError?

  5. डेटाबेस:पाइपलाइन कार्य