आप उसी Event
में उच्च स्कोर वाले मानों में सेल्फ़-जॉइन का उपयोग करके MySQL में रैंकिंग फ़ंक्शन का अनुकरण कर सकते हैं , और फिर प्रत्येक प्रतिभागी के लिए उच्च स्कोर की संख्या की गणना करना:
SELECT s1.Name, s1.Event, s1.Score, COUNT(s2.Name)+1 AS Rank
FROM scores s1
LEFT JOIN scores s2 ON s2.Event = s1.Event AND s2.Score > s1.Score
WHERE s1.Name = 'Bob'
GROUP BY s1.Name, s1.Event, s1.Score
ORDER BY s1.Name, s1.Event
आउटपुट:
Name Event Score Rank
Bob 1 100 1
Bob 2 75 3
Bob 3 80 2