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

किसी अन्य कॉलम द्वारा समूहीकृत किसी भिन्न स्तंभ के अधिकतम के आधार पर मान प्राप्त करें

आप row_number() . का उपयोग करके इस तक पहुंच सकते हैं :

select key, val
from (select t.*, row_number() over (partition by key order by num desc) as seqnum
      from table_name t
     ) t
where seqnum = 1;

क्या आप इसे अधिक "सुरुचिपूर्ण" मानते हैं, शायद स्वाद का मामला है।

मुझे यह बताना चाहिए कि यह आपकी क्वेरी से काफी अलग है। यह प्रत्येक key . के लिए एक पंक्ति लौटाने की गारंटी है; तुम्हारा कई पंक्तियों को वापस कर सकता है। यदि आप ऐसा व्यवहार चाहते हैं, तो बस rank() . का उपयोग करें या dense_rank() row_number() . के बजाय ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC का उपयोग करके Oracle Clob को कैसे अपडेट करें

  2. मैं Oracle में एक स्ट्रिंग में शब्दों की संख्या कैसे गिन सकता हूं?

  3. Oracle डेटाबेस में सभी ट्रिगर सूचीबद्ध करें

  4. Oracle प्रपत्र और रिपोर्ट स्थापित करना 11g रिलीज़ 2

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