प्लेयर udid 1
. के लिए रैंक के लिए डेटाबेस को क्वेरी करने का तरीका यहां दिया गया है :
SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)
मुझे लगता है कि एक उच्च स्कोर बेहतर है और आप प्रत्येक खिलाड़ी के लिए केवल उच्चतम स्कोर संग्रहित कर रहे हैं।
score
. पर एक इंडेक्स के साथ और udid
, यह बहुत तेज़ होना चाहिए।
क्वेरी क्या करती है उन उपयोगकर्ताओं की संख्या की गणना करती है जिनके पास चयनित उपयोगकर्ता की तुलना में अधिक स्कोर है।
अगर कम स्कोर बेहतर है, तो बस इसे इसमें बदल दें:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)
जो कम स्कोर वाले खिलाड़ियों की संख्या को गिनता है।
MySQL अनुक्रमणिका के बारे में सब कुछ पढ़ें ।