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

दो कॉलम के आधार पर रैंक

मुझे लगता है कि निम्नलिखित क्वेरी आपको आवश्यक परिणाम प्राप्त करेगी। सबसे पहले आपको एक सबक्वायरी में रैंक की गणना करनी होगी। मुझे लगता है कि आपके दृष्टिकोण से बहुत आसान है, आपको बस अपने परिणामों को जीत से क्रमबद्ध करना होगा और अवरोही क्रम में अंतर करना होगा (मान लीजिए कि फ़ील्ड संख्याएं हैं)। फिर आप सभी परिणामों का चयन करें और बदलें खिलाड़ी के लिए आदेश।

 SELECT player, wins, diff,rank from
 (
 SELECT player, wins, diff, @winrank := @winrank + 1 AS rank
 from tmpPoradi,(SELECT @winrank := 0) r 
 ORDER BY wins DESC,diff DESC
 )  rt
ORDER BY player

आशा है कि मुझे कुछ याद नहीं आ रहा है।




  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. MySQL क्वेरी को मास्टर विवरण तालिका से अलग मूल्य अल्पविराम मिलता है

  3. JDBC में JTable पर डेटा कॉलिंग का अनुकूलन करें

  4. आईडी को अल्पविराम से अलग किए गए मानों के रूप में संग्रहीत करना

  5. मुझे समझ नहीं आ रहा है कि मेरा वैरिएबल NULL क्यों है?