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

MySQL में रैंक की गणना कैसे करें

कई बार आपको MySQL में रैंक की गणना करने की आवश्यकता होती है। आप किसी संख्या या टेक्स्ट द्वारा ऑर्डर कर सकते हैं लेकिन MySQL में आसानी से रैंक की गणना नहीं कर सकते। यहां एक क्वेरी है जिसका आप उपयोग कर सकते हैं। बस तालिका का नाम बदलें स्कोर और कॉलम नाम आईडी, स्कोर।

बढ़ते मान के आधार पर MySQL में रैंक की गणना करें

उदाहरण:

CREATE TABLE score (id int, score int);
INSERT INTO scores VALUES (1, 35),(2, 10),(3,30),(4,22),(5,20),(6,18),(7,36);
Scores:
+----+------+
| id | score|
+----+------+
| 1  |   35 |
| 2  |   10 |
| 3  |   30 |
| 4  |   22 |
| 5  |   20 |
| 6  |   18 |
| 7  |   36 |
+----+------+

हम रैंकिंग चर का उपयोग करते हैं, जैसे कि निम्न:

SELECT    id,score,
          @curRank := @curRank + 1 AS rank
FROM      scores p, (SELECT @curRank := 0) r
ORDER BY  score;

(SELECT @curRank := 0)

भाग एक अलग SET कमांड की आवश्यकता के बिना चर आरंभीकरण की अनुमति देता है।

Result:
+----+------+------+
| id | score| rank |
+----+------+------+
| 2  |   10 |    1 |
| 6  |   18 |    2 |
| 5  |   20 |    3 |
| 4  |   22 |    4 |
| 3  |   30 |    5 |
| 1  |   35 |    6 |
| 7  |   36 |    7 |
+----+------+------+
7 rows in set (0.02 sec)

MySQL में घटते मान के आधार पर रैंक की गणना करें

यदि आप अंकों के घटते क्रम के आधार पर MySQL में रैंक की गणना करना चाहते हैं तो बस क्वेरी में DESC कीवर्ड जोड़ें।

SELECT    id,score,
          @curRank := @curRank + 1 AS rank
FROM      scores p, (SELECT @curRank := 0) r
ORDER BY  score DESC;

नतीजा:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL सर्वर त्रुटि से कनेक्ट नहीं हो सकता 111

  2. MySQL डेटाबेस परिनियोजन स्वचालन

  3. MySQL - LIKE का उपयोग करके सटीक शब्द मिलान की खोज कैसे करें?

  4. cPanel MySQL डेटाबेस के साथ कार्य करना

  5. MySQL और JDBC पुनर्लेखन के साथBatchedStatements=true