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

उपयोगकर्ता नाम दिए जाने पर एक अनियंत्रित MySql डेटाबेस से स्कोर के आधार पर रैंक प्राप्त करें

यह उन रैंकों को संभालेगा जिनका स्कोर समान है।

SELECT  d.*, c.ranks
FROM
        (
          SELECT    Score, @rank:[email protected]+1 Ranks
          FROM
                  (
                      SELECT  DISTINCT Score 
                      FROM    tableName a
                      ORDER   BY score DESC
                  ) t, (SELECT @rank:= 0) r
        ) c 
        INNER JOIN tableName d
            ON c.score = d.score
// WHERE   d.username = 'Helen'

उदाहरण के लिए

KEY     username    password    score   Ranks
1       Anna        123         5       3
2       Bobby       345         6       2
3       Helen       678         6       2
4       Jon         567         2       4
5       Arthur      ddd         8       1

बेहतर प्रदर्शन के लिए, एक INDEXजोड़ें कॉलम पर Score ,

ALTER TABLE tableName ADD INDEX (Score)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP से MySQL में सम्मिलित करना (jQuery/AJAX)

  2. फॉर्म विकल्पों के साथ MYSQL क्वेरी को फ़िल्टर करें

  3. कैसे जांचें कि PHP/MYSQL के साथ उपयोगकर्ता नाम पहले से मौजूद है या नहीं?

  4. MySQL को निहित डिफ़ॉल्ट मानों को शून्य कॉलम में सम्मिलित करने से रोकना

  5. Mysql के साथ दिनांक अंतराल खोजें