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

Oracle SQL पर केवल एक MIN मान को छोड़कर

ऐसा करने के लिए आपको उन्हें किसी तरह अलग करना होगा; आपका वर्तमान मुद्दा यह है कि 2 सबसे कम स्कोर समान हैं, इसलिए किसी भी (इन) समानता ऑपरेशन को किसी भी मान पर किया जाता है जो दूसरे को समान रूप से मानता है।

आप विश्लेषणात्मक क्वेरी ROW_NUMBER() पंक्तियों को विशिष्ट रूप से पहचानने के लिए:

select id, sum(score) / count(score) as score
  from ( select id, score, row_number() over (order by score) as score_rank
           from gamescore
          where gameno = 1
                )
 where score_rank <> 1
 group by id

ROW_NUMBER() :

जैसा कि ORDER BY खंड SCORE पर आरोही क्रम में है, सबसे कम स्कोर में से एक को हटा दिया जाएगा। यह एक यादृच्छिक मान होगा जब तक कि आप ORDER BY में अन्य टाई-ब्रेकर शर्तें नहीं जोड़ते।



  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 के लिए घुंघराले ब्रेस एस्केपिंग का उपयोग कैसे करें

  2. स्पूल कमांड:फाइल करने के लिए SQL स्टेटमेंट आउटपुट न करें

  3. हाइबरनेट ने सीएलओबी पर लंबे समय तक उपयोग करने के लिए स्विच क्यों किया है?

  4. डेटाबेस क्वेरी में पंक्तियों को लाते समय LIMIT क्लॉज का उपयोग किए बिना PHP का उपयोग करके परिणाम सीमित करना?

  5. ऑरैकल में चेक बाधा का उपयोग कैसे करें