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

MySQL में nth रैंक कैसे पता करें?

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

बढ़ते मूल्य के आधार पर MySQL में nth रैंक खोजें

उदाहरण:

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 |
+----+------+

यहां हमें रैंक 3 . के साथ रिकॉर्ड मिलता है . निम्नलिखित क्वेरी बढ़ते स्कोर के आधार पर रिकॉर्ड को रैंक करती है। फिर यह 3 रैंक वाले रिकॉर्ड को फ़िल्टर करता है:

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

(SELECT @curRank := 0)

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

Result:
+----+------+------+
| id | score| rank |
+----+------+------+
| 5  |   20 |    3 |
+----+------+------+
1 row in set (0.0 sec)

घटते मान के आधार पर MySQL में nth रैंक खोजें

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

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

परिणाम:

+----+------+------+
| id | score| rank |
+----+------+------+
| 3  |   30 |    3 |
+----+------+------+
1 row in set (0.0 sec)

आप किसी भी प्रकार के मीट्रिक जैसे वेतन, कर्मचारी गणना आदि के लिए nth रैंक प्राप्त करने के लिए उपरोक्त विधियों को लागू कर सकते हैं।

  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 दिनांक स्ट्रिंग को यूनिक्स टाइमस्टैम्प में बदलें

  2. "त्रुटि 1136 (21S01)" को ठीक करें:MySQL में डेटा सम्मिलित करते समय कॉलम गणना पंक्ति 1 पर मान गणना से मेल नहीं खाती है"

  3. MySQL SIN () फ़ंक्शन - MySQL में किसी संख्या की साइन लौटाएं

  4. JDBC के माध्यम से MySQL में UTF-8 डालने का प्रयास करते समय गलत स्ट्रिंग मान?

  5. Mysql DB से JFreechart TimeSeriesCollection को पॉप्युलेट करें?